问题使用collection_select在数据库中存储值

时间:2012-12-03 15:06:02

标签: ruby-on-rails ruby ruby-on-rails-3

我有两种模式:

Project.rb

class Project < ActiveRecord::Base
 belongs_to :customer
end

和Customer.rb

class Customer < ActiveRecord::Base
  has_many :projects
end

在_form.html.erb里面我有:

<p>
    <label>Select Customer</label>
    <%= f.collection_select :customer_id, Customer.all, :id, :name, :include_blank => true %>
</p>

哪个应该从客户模型中收集客户并显示所有客户,最后应该将值分配给项目表中的customer_id。

现在,当我检查日志时,一切正在通过。当我选择值为1的第一个客户时,它会在我的日志中传递customer_id =“1”,但它不会存储在表中。它在项目表中显示customer_id = nil。

有人可以提供帮助。谢谢:))

1 个答案:

答案 0 :(得分:3)

请检查您是否在attr_accessible方法中添加了customer_id,例如

class Project
  attr_accessible :your_other_attributes, :customer_id
end