resourceベースのルーティングをしていれば、
デフォルトですとrailsのf.submit
ビューヘルパーはHTTPメソッドから判断して特にアクション先を指定せずともボタンを押せばupdateやcreateメソッドに飛ぶようによしなにやってくれると思います。
しかし
edit画面を分割したくて以下のようなルーティングにしたとします。
同時にupdateアクションもedit画面に応じて分割するとします。
resources :accounts, :only => [:index, :show, :edit, :update] do member do #追加したeditとupdateアクション get 'edit_detail' patch 'update_detail' end end
コントローラー/アクションは以下のようになっているとします
def edit end def edit_detail end def update end def update_detail end
つまり1つのモデル(テーブル)に対して通常用のedit,updateアクションとdetail(詳細用)のedit,updateアクションがあるケースです。
7つのresourceベースのルーティングでないパターンの場合(railsの設計思想に沿ってはいないかもしれませんが、、、)
どうやってsubmitボタンを押した時の遷移先を指定してあげられるでしょうか?
button_toヘルパーを用いて、以下のようにして
<%= button_to "送信", update_detail_account_path(:id => account.id) %>
値を渡すことも考えたのですが、値を渡す為の引数が多くなると辛いため、submitボタンで一気にサーバー側に値を送りたいです。
インターネットでリファレンスを探していたのですが、なかなか良いリファレンスに出会えず質問しました。
またsubmitボタンを使用しづらい場合の代替案をお教えいただくと助かります。
よろしくおねがいします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/14 14:03