0

何時間も問題を抱えていますが、解決策が見つかりません。私と似たような質問がいくつか見つかりましたが、それでもうまくいきません。コントローラーにメソッドがあります:

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

Game_site_log.rb を定義するために LoadError が game_site_log.rb を期待するようになりました。私はこれを追加しようとしました:

require File.dirname(__FILE__) + "game_site_log.rb"

しかし、game_site_log.rb からモデルをロードする代わりに、コントローラーでそのファイルを見つけようとしました。これに対する最善の解決策は何ですか?ありがとう :)

4

2 に答える 2

2
  1. Ruby の慣例では、キャメルケースでクラスに名前を付けます。そのため、モデルには という名前を付ける必要がありますGameSiteLog
  2. RoR は設定よりも規約を多用しているため、すべてを簡単に実行するには、game_site_log.rbファイルを に配置する必要がありますapp/models
于 2013-06-20T11:03:04.177 に答える
1

あなたのモデルがそうである場合app/models/game_site_log.rb、Rails の慣例により、次のように定義する必要があります。

class GameSiteLog < ActiveRecord::Base
  # methods here
end

その後、 でアクセスできますGameSiteLog.connection.select_values()

クラス名はCamelCasedで、ファイル名はunder_scoredでなければなりません。

于 2013-06-20T11:09:35.027 に答える