0

我在创建属于公司的新 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(这是我的测试数据库中唯一存在的公司)。

4

1 回答 1

1

那应该是:company_id而不是:company

<%= form.collection_select(:company_id, @companies, :id, :name ) %>
于 2013-03-10T06:57:54.993 回答