我有一个问题,几个小时,但我找不到解决方案。我发现了一些和我类似的问题,但仍然没有运气。我在控制器中有一个方法:
def get_game_site_log_id(game)
Game_site_log.connection.select_values("SELECT id FROM game_site_logs
WHERE game_id = " + game["game_id"] + "AND site_id = " + @site.id + ";")
end
我得到LoadError预期game_site_log。定义Game_site_log。我试着添加这个:
require File.dirname(__FILE__) + "game_site_log.rb"
但不是从game_site_log加载模型。它试图在控制器中找到那个文件。最好的解决方案是什么?谢谢:)
- Ruby的惯例是用CamelCase命名类,所以你的模型应该命名为
GameSiteLog
。 - 由于RoR大量使用约定而不是配置,为了使一切顺利运行,您应该将
game_site_log.rb
文件放在app/models
中。
如果您的模型在app/models/game_site_log.rb
中,那么,根据Rails惯例,您应该将其定义为:
class GameSiteLog < ActiveRecord::Base
# methods here
end
然后你可以用GameSiteLog.connection.select_values()
访问它。
类名应该是 camelcase 文件名应该是 under_scores