質問編集履歴

1 作りたい部分のイメージを追加しました

lyzmfeqpxs54

lyzmfeqpxs54 score 214

2017/08/24 16:50  投稿

一つのページに2つのformを置いた場合のルーティング
Ruby on Railsでページを作っているのですが、一つのページに2つのformを置いた場合のルーティングの方法が調べてもわからず、恐縮ですがこちらで質問させていただきます。
以下のようにページに2つのフォームを置いた場合に、submitボタンのルーティングに書かれた部分の上(今回の場合だとupdate)が呼ばれてしまいます。もう片方のボタンはviewupdateのメソッドを呼びたいのですが、ルーティングにどのように記載すればよいのかをご教示いただけないでしょうか。
よろしくお願いいたします。
```Ruby
-------routes.rb -------
post "user/:id" => "user#update"
post "user/:id" => "user#viewupdate"
------personal.html.erb-------
<%= form_with(model: @userinfo, url: '/user/update') do |f| %>
 <div class="actions">
   <%= f.submit '保存' %>
 </div>
 <%= f.text_field :XXXXX %>
<% end %>
<%= form_with(model: @userinfo, url: '/user/viewupdate') do |f| %>
 <div class="actions">
   <%= f.submit '適用' %>
 </div>
<% end %>
------user_controller.rb-------
def update
   処理
end
def viewupdate
   処理
end
```
```
![データ表示](eaabd718de901d955fe3208fdf2a02b5.png)
  • Ruby

    16927 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    18365 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る