我有一个名为reason_to_sell的模型。 Ruby会将其复数到reason_to_sells,所以我添加了这个:
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural 'reason_to_sell', 'reasons_to_sell'
end
这在控制台中效果很好:
ruby-1.8.7-p302 > "reason_to_sell".pluralize
=> "reasons_to_sell"
出售的每个理由都属于用户:
class ReasonToSell < ActiveRecord::Base
belongs_to :user
当然,每个用户都有很多理由可以出售:
class User < ActiveRecord::Base
has_many :reasons_to_sell
但是,这给了我:
ruby-1.8.7-p302 > u.reasons_to_sell
NameError: uninitialized constant User::ReasonsToSell
但如果我改变用户有很多理由进行销售,事情会变得更好:
ruby-1.8.7-p302 > u=User.first ; u.reason_to_sells
=> []
那么我需要做些什么才能让reason_to_sell变形对这个模型关联起作用呢?
答案 0 :(得分:3)
使用:
has_many :reasons_to_sell, :class_name => "ReasonToSell"