2012-04-17 6 views
1

イム新しいレールでは、私はapplication.html.rbでこれを実行しようとしました:初期化されていない一定のActionView :: CompiledTemplates ::

<%= select_tag 'set_locale', 
    options_for_select(LANGUAGES, I18n.locale.to_s), :onchange => 'this.form.submit()' %> 
     <%= submit_tag 'submit' %> 
     <%= javascript_tag "$$('.locale input').each(Element.hide)" %> 

と私は設定/初期化子ディレクトリ内のファイルi18n.rbを持っています、このファイルのコードは次のとおりです。

#encoding: utf-8 
I18n.default_locale = :en 

LANGUAGES = [ 
    ["English",     "en"], 
    ["Espa&ntilde;ol".html_safe, "es"]] 

しかし、私は、このエラーメッセージが表示され実行します。

uninitialized constant ActionView::CompiledTemplates::LANGUAGES

を210

レールはそれを知らないので、問題はLANGUAGEであると思いますが、私がしたいことは分かりません。

私は、ルビー1.9.2とレール3.0.5を使用しています。

私は助けが必要です。

答えて

1

::LANGUAGESを表示できますか?

しかし、私はアプリケーションヘルパーで言語選択ヘルパーメソッドを指定することをお勧めします。ヘルパーで

:ビューで

def languages_select_tag(name = 'set_locale') 
    languages = [["English","en"],["Espa&ntilde;ol".html_safe, "es"]] 
    options = options_for_select(languages, I18n.locale.to_s) 
    select_tag(name, option, :onchange => 'this.form.submit()') 
end 

<%= languages_select_tag %> 
<%= submit_tag 'submit' %> 
<%= javascript_tag "$$('.locale input').each(Element.hide)" %> 
+0

こんにちは私の友人レトロは、私は、定数がクラス、モジュールの中になければなりませんが、私は本からそのコードを取ったことを理解し、あなたの助けのためにそんなにあなたのコードの作業罰金に感謝:アジャイルWebのRails 4版による開発私はそれが著者からの誤りではないと思いますが、どう思いますか?おかげで再び – josedes

+0

更新されたjosedes ^ – retro

0

私は同じ問題を抱えていました。 i30n.rbファイルに

def languages 
    LANGUANGES 
end 

を追加して固定しました。 そして、それを使用して

options_for_select(languages, I18n.locale.to_s) 
関連する問題