我有两个模型,Designer 和 Influence。他们彼此之间存在“has_many”关系:通过称为 Relation 的连接模型。
我想使用一个表单来使用来自影响模型的信息来创建/更新设计器模型。是否可以通过设计器控制器中的创建/更新操作来创建关系对象?还是我需要创建一个关系控制器?
我当前的代码如下,并导致 DesignersController#Update 中出现 NoMethodError。
设计师.rb
attr_accessible :name, :relation, :influence
has_many :relations
has_many :influences, :through => relations
影响力.rb
attr_accessible :name, :relation, :designer
has_many :relations
has_many :designers, :through => :relations
关系.rb
attr_accessible :designer_id, :influence_id
belongs_to :designer
belongs_to :influence
设计师/_form.html.erb
<%= form_for @designer do |f| %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.label :influence %><br />
<%= f.collection_select :influence, Influence.order(:name), :id, :name, include_blank: true %>
<%= f.submit %>
<% end %>
设计师_控制器.rb
def update
@designer = current_designer
** Is there a way to create a new relation object here? **