【開発日誌/Ruby】f.submitのラベルを動的に切り替えたい

スポンサーリンク

scaffoldで自動生成された_form.html.erbでsubmitボタンは

のようになっていますよね。

このボタンのラベルって
new.html.erbから呼ばれたときには「create 〜」
edit.html.erbから呼ばれたときには「update 〜」
という感じで設定されているけど、どこで設定してるんだろう?

プロジェクト配下のファイルをGrepしてみてもそれらしい記述がみつからない。。。

固定の値に変えるだけだったら

のようにすればいいけど、「登録」「更新」のように動的に設定したいんです。

locales/en.ymlに定義したらいける? → stack overflow
<%= render 'form' %>するときにラベル名渡すほうが簡単かな? → stack overflow

やり方はいろいろあるけど、そもそもの作りはどうなってるんだー!?

みんな気にしないのか、常識なのか、、、
あまり情報が転がってないので、直接ソースを見てみます。

GitHub

「In the example above, if @post is a new record, it will use “Create Post” as submit button label, otherwise, it uses “Update Post”.」
なるほど。。。

そして、やはりstack overflowで見つけたように、
en.ymlで上書きするのが正しいやり方っぽいですね。
今作ってるアプリでは前回、default_localの設定をjaにしたので、ja.ymlに書くことにします!

(config/locales/ja.yml)

f:id:m_uta:20160211110933j:plain:w450

でけた(`・ω・´)キリッ

(。・ω・)ノシ

コメント

タイトルとURLをコピーしました