我正在尝试为自引用关系创建一个方法,该方法需要在控制器方法中声明两个变量...
1)用户正在查看的当前记录[record = Record.find(params [:parent_id])]
2)正在从一条记录中选择一条记录。每次迭代都在主记录的“显示”页面上进行,如下所示...
<% Record.find_each do |record| %>
<div>
<%= record.name %>
</div>
<%= form_for(@record.active_relationships.build) do |f| %>
<div>
<%= hidden_field_tag :parent_id, record.id %>
</div>
<%= f.submit "Follow" %>
<% end %>
<% end %>
如何像使用主记录(1)一样在控制器中将该记录声明为变量?
下面是到目前为止我在控制器中拥有的方法...
def create
record = Record.find(params[:parent_id])
record.follow(record)
redirect_to record
end
您会注意到第二行有两个记录实例。我遇到的问题是,我不确定如何定义记录的第二个实例以反映目标2。
答案 0 :(得分:0)
通过分别向表单和控制器添加以下行,我能够将当前查看的记录定义为自引用关系中的子记录,从而允许在两个记录之间创建关系...
表格
<%= hidden_field_tag :child_id, @ingref.id %>
控制器
current_ingref = Ingref.find(params[:child_id])