###前提・実現したいこと
Ruby on Rails4にて開発中です。
ある入力フォームに意図しない値を入力し登録処理をしようとするとバリデーション実行前にエラーとなってしまいます。
本来はrubyの@atable.saveとした時にバリデーションにてエラーメッセージを表示するところを、@atable = Atable.create(params)とした時にエラーとなります。
この時にyamlにある、%{sub}という変数の値を取得し、エラーが起きないようにしたいのですが、どのようにしたらいいでしょうか。
正常値を入力した時には期待通りに登録ができることを確認しています。
いい方法がありましたらご教示いただけないでしょうか。
###発生している問題・エラーメッセージ
missing interpolation argument :sub in "%{sub}subject" ({:count=>1} given)
###該当のソースコード
ruby
1 def create 2 @atable = Atable.create(params) 3 begin 4 if @atable.save! 5 redirect_to tables_path 6 else 7 flash.now[:alert] = @atable.errors 8 @atable = Atable.create(params) 9 render "new" 10 end 11 rescue => e 12 flash.now[:alert] = e.message 13 @atable = Atable.create(params) 14 render "new" 15 end 16 end
yml
1#yaml 2ja: 3 devise: 4 atables: 5 subject: '%{sub}subject' 6 subject2: '%{sub}subject'
html
1<tr> 2 <td> 3 <div class="input-group"> 4 <input class="form-control" type="text" name="atable[subject]" id="atable_sub"> 5 </div> 6 </td> 7 <td> 8 <input class="form-control" type="text" name="atable[subject2]" id="atable_sub2"> 9 </td> 10</tr>
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/14 14:36