我在创建属于公司的新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(这是我的测试数据库中唯一存在的公司)。
答案 0 :(得分:1)
应该是:company_id
而不是:company
<%= form.collection_select(:company_id, @companies, :id, :name ) %>