0

サイトに 2 つの環境をセットアップしようとしています。1 つは開発サーバー上、もう 1 つはライブ サーバー上です。そして、各サーバーで表示できる DB のレコードを指定したいと考えています。インクルードにファイルを作成しました。開発用にはこれが@show = "dev"あり、ライブ用に@show = "live"はアプリケーションレイアウトの上部にこれを含めたので、すべてのページにあります。次に、私の見解では、各データベース呼び出しで、次のような条件を設定したいと考えています。

- f = Event.find(:all, :conditions => ["#{@show} = 1"])

ただし@show、変数として認識されず、明示的に使用するか無視します。これを行う簡単な方法はありますか、それとも期待どおりに機能しませんか?

アップデート

私はそれを機能させることができましたが、アプリケーションのレイアウトだけでなく、個々のビューにファイルを含める必要があります...理想的ではありませんが、それは解決策です:

= render "includes/dev_live"

- f = Event.find(:all, :conditions => {@show => 1})
4

2 に答える 2

0

変数をインスタンス変数に変換する必要があります。条件で使用するため。

これを試すことができます

f = Event.find(:all, :conditions => {@show.to_sym => 1 })

于 2013-07-15T09:17:44.357 に答える