私のサイトの各 text_area には、言語を選択するための select_box があります。多くの場合、特定のデフォルト言語を使用しますが、カスタム オプションをチェックすることもあります。最初にコントローラーでアレイをセットアップしました。
@language_array = [ ["english", 1], ["french", 2], ["spanish", 3] ]
@language_array = get_custom_array if custom_language?
そして、それはビューによってアクセスされます:
<%= select_tag(:language, options_for_select(language_array, default_language) )%>
これは問題なく機能し、text_area は言語を表示して番号を渡します。ただし、各ページに複数の text_areas を追加したいので、コードをヘルパーに移動し、ビュー内のすべての text_area からヘルパーにアクセスします。
language_array = get_language_array(thing.id)
<%= select_tag(:language, options_for_select(language_array, default_language) )%>
ただし、text_area が台無しになり、言語だけでなく配列が表示されるようになりました。
[「英語」、1]
どうすれば修正できますか (現在保存されている配列を変更せずに)? また、ヘルパーの変数をページ上の JavaScript で使用できるようにしたいと考えています。コントローラーからヘルパーにすべてを移動するよりも、複数の「もの」を処理するためのより良い方法はありますか?