0
我正在使用Rails 3,并遇到问题。我的collection_select
未填充数据库中的字段。这就是我的看法是这样的:(除去一些HTML)RoR:collection_select未设置数据库中的值
f.label "Company Name"
@c = Company.all
collection_select(:Company , :company_id, @c, :id , :companyName, {:prompt => true})
f.submit
下拉列表中有正确的价值观,但是当我提出它,这是我的params
样子:"Company"=>{"company_id"=>"2"}
。我没有一个名为company
的字段,但我确实有一个名为company_id
的字段和一个名为company
的表。我的语法正确吗?
Processing by RecordsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"WLzwCoZFCUhyH9ZqYWYLmaQwyleB3JLoTnb4lhftKzc=", "record"=>{"title"=>"test", "Company"=>{"company_id"=>"2"}, "commit"=>"Create record"}
AREL (2.0ms) INSERT INTO "records" ("company_id", "title", "created_at", "updated_at") VALUES (NULL, 'test','2011-05-17 05:01:38.905717', '2011-05-17 05:01:38.905717')
Redirected to http://localhost:3000/Records/7
Completed 302 Found in 150ms
不知道这会有所帮助,但我想清楚了一点件事了。在Rails中,您将拥有一个顶级参数,它保存相关模型对象的参数。因此,指向实际参数的“公司”是要发送到update_attributes的东西,或者是新的或您调用的任何影响数据库中模型的东西。 – jaydel 2011-05-17 17:57:29