0

私は2つのモデルを持っています:

役職:

class Post < ActiveRecord::Base 
    has_many :exes
end

EXE:

class Exe < ActiveRecord::Base
    belongs_to :post
end

私が考えていることは次のhttp://localhost:3000/posts/indexとおりです。

NameError in Posts#index
uninitialized constant Post::Ex

なぜかと言われExます。

ルビーが文句を言っている行のコードは<% post.exes.each do |exe| %>、私には正しいように見えます。

だから、なぜこれが起こっているのかよくわかりません。これが理由かもしれないと思ったので、次のことも確認しましたが、いいえ:

2.0.0-p247 :004 > ActiveSupport::Inflector.pluralize('Exe')
 => "Exes" 
2.0.0-p247 :005 > ActiveSupport::Inflector.singularize('Exe')
 => "Exe" 

前もって感謝します!

4

2 に答える 2

1

プロジェクトの語形変化初期化子で、この特定の文字列のインフレータを定義します。

# config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'Exe', 'Exes'
end

変更を有効にするには、サーバーを再起動する必要があることに注意してください。

于 2013-09-12T00:14:33.517 に答える