0

我对此进行了搜索,任何类型的“Rails 关系”都会查询很多选项,但我找不到我的那种情况..

您能否建议实施这种关系的最佳方法..

父母可以为他的孩子创建连接

我目前有三个模型 - ParentKidConnection(用于存储有关Kid连接的数据)..

家长:

has_many :kids

孩子:

belongs_to :parent
has_many :connections, :foreign_key => "connector_id"
has_many :connected_to, :through => :connections, :source => :connected

联系:

attr_accessible :connected_id
belongs_to :connector, :class_name => "Kid"
belongs_to :connected, :class_name => "Kid"

父母能够创造孩子..我正在努力教父母为他的孩子创造联系*的最佳方式..

任何建议都非常感谢..

更新

在查看了 cug 的建议后,我有以下几点:

父母中: has_many :kids

def add_kid_connection(new_kid)
 kids.each do |kid|
   star.linked_by << new_kid
 end

结尾

考虑 _connect_kid.html.erb 辅助方法:

<%= form_for current_parent.add_kid_connection(@new_kid) do |f|%>
<div class="field">
<%= f.label "Connect it!" %><br />
<%= f.text_field :new_id %>
<div class="actions"> <%= f.submit %>
</div>
<% end %> 

*kids_controller*中:

def show
 @kid = Kid.find(params[:id])      
 @new_kid = Kid.find(params[:new_id])

最后我得到 could't find Kid without an ID error for the new_kid line..

显然这是一些基本的东西,但仍在试图弄清楚......

谢谢!

4

1 回答 1

0

例如,您可以添加以下方法来将一些孩子添加到某个父母的孩子的所有连接中

class Parent
  def add_kid_connection(new_kid)
    kids.each do |kid|
      kid.connected_to << new_kid
    end
  end
end
于 2011-08-31T03:23:36.710 回答