Rails 3:has_one的路由和复数问题

时间:2012-07-09 19:35:50

标签: ruby-on-rails rails-activerecord plural

我为Etho创建了一个脚手架,我试图让用户获得1个单一的“ethos”进行编辑。 Ethos正在运行,但在用户模型上,它只与has_many:ethos

一起使用

用户应该只获得1,这样我就可以创建更好的关联。但是现在当我改变模型时,它会创造出我无法追踪的蜘蛛效应。

用户模型:

class User < ActiveRecord::Base
  has_many :jobs
  has_one  :ethos #used to be has_many :ethos

现在在所有页面上我得到未初始化的常量User :: Ethos on EthosController#edit

请帮忙,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你试过吗?

class User < ActiveRecord::Base
  has_many :jobs
  has_one  :etho 

has_one应该是单数的:http://guides.rubyonrails.org/association_basics.html#the-has_one-association

答案 1 :(得分:0)

您可以通过在class_name关联上明确指定has_one来继续使用 ethos 复数名称:

class User < ActiveRecord::Base
  has_many :jobs
  has_one  :ethos, class_name: 'Ethos' 

此答案提供了其他详细信息:https://stackoverflow.com/a/6604247/37966