Ruby on rails 创建包含其他模型实例的下拉列表时出现问题

Ruby on rails 创建包含其他模型实例的下拉列表时出现问题,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我在创建属于某个公司的新Post对象时遇到问题。一个职位属于一个公司,一个公司有很多职位。 用户创建新帖子时,可以选择与该帖子关联的公司: <%= form.collection_select(:company, @companies, :id, :name ) %> 在请求头中,我们正在发送公司id。它应该发送id吗? 以下是完整的请求有效负载: ------WebKitFormBoundaryJ7O26zoDPh5PB7Zk Content-Disposition: form-

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

<%= form.collection_select(:company, @companies, :id, :name ) %>
在请求头中,我们正在发送公司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(这是我的测试数据库中唯一存在的公司)。

应该是
:Company\u id
,而不是
:Company

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


当我将第一个参数更改为company_id时,在尝试加载帖子时会出现以下错误:未定义的方法“company_id”for#,这很奇怪。你说职位属于一家公司?因此,除非您指定不同的外键,否则帖子应该有一个company\u id?我在我的Post model.yep中明确地将这一行设置为:company。但这需要在posts表中有一个company_id列。此列将是外键,用于将公司与帖子关联。啊,我需要创建此列。我只在模型中添加了关联。我完全忘记了。
<%= form.collection_select(:company_id, @companies, :id, :name ) %>