Rails在编辑视图中添加嵌套属性

时间:2013-11-07 09:34:36

标签: ruby-on-rails many-to-many nested-attributes

我有2个具有多对多关联的模型如下:

class User < ActiveRecord::Base
    has_many :remark_users, :dependent => :destroy
    has_many :designated_remarks, :through => :remark_users, :source => :remark
end

class Remark < ActiveRecord::Base
    has_many :remark_users, :dependent => :destroy
    has_many :users, :through => :remark_users

    accepts_nested_attributes_for :remark_users
end

关系:

class RemarkUser < ActiveRecord::Base
    belongs_to :remark
    belongs_to :user
end

在remarks_controller中,我有这个:

def add_user
    @remark = Remark.find(params[:id])

    3.times { @remark.remark_users.build }
end

可以将评论关联到许多用户。在创建备注之后必须进行关联,因为它必须首先通过验证。

所以我希望在验证后将用户添加到备注中。无论如何,我的表单(如下所示)未显示用于选择用户的任何字段,仅显示备注数据。

<p>
    <strong>Description:</strong>
    <%= @remark.description %>
</p>

<h4>Add Users</h4>

<% form_for @remark do |f| %>

    <% f.fields_for :@designated_user do |u| %>
    <p>User:<br />
    <%= u.collection_select(:user_id, User.all, :id, :user_name, {:include_blank => true}, {:class=>'form-control'}) %>
    </p>
<% end %>

<% end %>

任何人都可以帮助我吗? 谢谢!

0 个答案:

没有答案