0

我有 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

在备注控制器中,我有这个:

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 %>

谁能帮我?谢谢!

4

0 回答 0