view(new.html.erb)内のform_tagで入力されたデータを取得して、createアクションで登録したあとに登録された情報を同じnew.html.erbで表示させたいです。
登録した内容をフォーム内で書き込みできないようにして表示させたいです。
エラーが起きて、render 'new'に返したときに、
render partialなど用いて、新たに追加したviewファイルを部分テンプレートなどで挿入できますでしょうか?
view
1<%= form_tag(message_path, method: "post") do %> 2 <div>アナウンスを変更</div> 3 <table> 4 <tr> 5 <th><%= label_tag :場所 %></th> 6 <td> 7 <table> 8 <tr> 9 <td><%= select_tag('id', options_for_select(@list), prompt: "選択してください") %></td> 10 <td>必須</td> 11 </tr> 12 </table> 13 </td> 14 </tr> 15 </table> 16 <table> 17 <tr> 18 <th>設定内容</th> 19 <td> 20 <table> 21 <td> 22 <%= radio_button_tag :set_id, 1 %><label class="radio" for="set_1">お知らせ</label> 23 <%= radio_button_tag :set_id, 2 %><label class="radio" for="set_3">その他</label> 24 </td> 25 </table> 26 </td> 27 </tr> 28 </table> 29 <table> 30 <tr> 31 <th>開始時間<span> 必須</span></th> 32 <td> 33 <%= text_field_tag 'start_dte', @date, placeholder: "YYYY/MM/DD", autocomplete: "off" %> 34 </td> 35 </tr> 36 </table> 37 <table> 38 <tr> 39 <th><%= label_tag :アナウンス %><span> その他のみ必須</span></th> 40 <td> 41 <table> 42 <tr> 43 <td><%= text_area_tag 'message', params[:MESSAGE_JP] %></td> 44 </tr> 45 </table> 46 </td> 47 </tr> 48 </table> 49 <div> 50 <ul class="btn"> 51 <li> 52 <h5 onclick="location.href = '<%= @back_url %>'"> 53 <input type="button" class= "btn" value="戻る"/> 54 </h5> 55 </li> 56 <li> 57 <%= submit_tag "登録" , :class => "btn" %> 58 </li> 59 </ul> 60 </div> 61<% end %>
controller
1 def new 2 @back_url = message_path 3 @date = Date.today 4 end 5 6 def create 7 @back_url = cookies[:message_back_url] 8 @message_url = cookies[:new_message_url] 9 10 message = params[:message] 11 12 @message_id = params[:id].to_i 13 /// 14 /// 15 begin 16 /// 17 ActiveRecord::Base.connection.execute(query) 18 /// 19 redirect_to new_message_path 20 flash[:update] = ”登録しました” 21 22 rescue 23 flash[:update] = ”登録できませんでした” 24 render 'new' 25 return 26 end
普通は show で見せますが、newのviewで見せたい意図が有るのでしょうか?
あなたの回答
tips
プレビュー