我似乎对Rails约定存在问题(我认为)。我有以下类给我一个NameError,错误看起来像 '未初始化的常数Store :: Campu' (我没有拼错校园,它在错误页面中显示如下)
Store (store.rb)
has_many :campus
Campus (campus.rb)
belongs_to :store
要在索引页面显示所有商店,我有以下索引操作可以正常工作。
def index
@stores = Store.all
end
然后允许用户执行诸如导航到创建文件页面之类的操作。
def create_import_file
@stores = Store.find_by params[:id]
render 'create_file'
end
我不知道我错过了什么错误。感谢您寻求任何帮助。
Store (store.rb)
has_many :campuses
validates :store_id, presence: true, uniqueness: true, numericality: { only_integer: true } (adding this for good measure. This is everything from my model classes so far)
Campus (campus.rb)
self.table_name = "campuses" (Note: I couldn't get this to work without adding this entry.)
belongs_to :store
到目前为止,我有两张桌子。商店和校园列如下:
stores
+ id
+ store_id
+ created_at
+ updated_at
campuses
+ id
+ campus_id
+ campus_name
+ created_at
+ updated_at
事实证明,Rails存在多元化"校园"的问题。作为新人,我不知道发生了什么。在我的config / initializers / inflections.rb中添加一行修复了这个问题。
现在使用它可以将所有内容命名为' campus'。
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.uncountable "campus"
end
答案 0 :(得分:1)
您必须在此处使用plural
表格
Store (store.rb)
has_many :campus
应该是
Store (store.rb)
has_many :campuses # here