首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我不明白为什么我得到了未定义的方法form_for

我不明白为什么我得到了未定义的方法form_for
EN

Stack Overflow用户
提问于 2013-08-05 19:14:29
回答 1查看 54关注 0票数 0

我不明白为什么我会得到这个错误

代码语言:javascript
复制
undefined method `sector_id' for #<Portfolio:0x007fe17c2e3848>

我有一个投资组合模型和一个行业模型,它们看起来是这样的

代码语言:javascript
复制
class Portfolio < ActiveRecord::Base
  belongs_to :sector
  attr_accessible :overview, :title, :sector_id
end



class Sector < ActiveRecord::Base
  has_many :portfolios
  attr_accessible :name
end

我的路线

代码语言:javascript
复制
resources :portfolios do
  resources :sectors
end

所以在我的表单中,为了创建一个新的项目组合,我有这个collection_select

代码语言:javascript
复制
<%= f.label :sector_id, "Choose Sector", :class => 'title_label' %><br>
<%= f.collection_select(:sector_id, Sector.all, :id, :name, :prompt => "Please Select a Sector") %>

这是我以前做过很多次的事情,它起作用了,有人能看到为什么我会得到这个错误吗?

我能想到的唯一一件事是,我将投资组合的控制器称为投资组合,我总是与复数和单数控制器名称混淆,这对我的情况会有影响吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-05 19:24:35

也许您还没有运行在表"portfolios“中添加"sector_id”列的迁移。如果您正在使用MySQL,请连接到您的数据库并检查表(show create table portfolios;)。如果您正在使用其他rdbms,请使用适当的方法从您的数据库服务器获取此信息。或者,在您的rails控制台(rails c)中键入Portofolio并查看它打印出了哪些属性。包括sector_id吗?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18056809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档