无法创建包含其他模型实例的下拉列表

时间:2013-03-10 06:54:46

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

我在创建属于公司的新Post对象时遇到问题。一个帖子属于一个公司,一个公司有很多帖子。 当用户创建新帖子时,他可以选择与该帖子关联的公司:

<%= form.collection_select(:company, @companies, :id, :name ) %>

当用户提交此表单时,会出现以下错误:

Company(#39435240) expected, got String(#9332080)

在请求标头内,我们发送公司ID。它应该发送id吗? 这是完整的请求有效载荷:

------WebKitFormBoundaryJ7O26zoDPh5PB7Zk
Content-Disposition: form-data; name="utf8"

✓
------WebKitFormBoundaryJ7O26zoDPh5PB7Zk
Content-Disposition: form-data; name="post[title]"

fdasfa
------WebKitFormBoundaryJ7O26zoDPh5PB7Zk
Content-Disposition: form-data; name="post[content]"

fdsafsda
------WebKitFormBoundaryJ7O26zoDPh5PB7Zk
Content-Disposition: form-data; name="post[company]"

1
------WebKitFormBoundaryJ7O26zoDPh5PB7Zk
Content-Disposition: form-data; name="post[image]"; filename="nike.gif"
Content-Type: image/gif


------WebKitFormBoundaryJ7O26zoDPh5PB7Zk
Content-Disposition: form-data; name="commit"

Create New Post
------WebKitFormBoundaryJ7O26zoDPh5PB7Zk--

它发送公司ID为1(这是我的测试数据库中唯一存在的公司)。

1 个答案:

答案 0 :(得分:1)

应该是:company_id而不是:company

<%= form.collection_select(:company_id, @companies, :id, :name ) %>