質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

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

Ruby on Rails 3

Ruby on Rails3はRubyによって書かれたオープンソースのウェブフレームワークです。Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

1078閲覧

[Rails3→Rails5以降]submitボタンで送られるパラメータの仕様について

yuuki0218

総合スコア22

Ruby on Rails 5

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

Ruby on Rails 3

Ruby on Rails3はRubyによって書かれたオープンソースのウェブフレームワークです。Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2019/12/06 07:57

編集2019/12/09 05:49

Rails3系からRails5系へとアプリのバージョン移行を行っているのですが、
ViewのSubmit時に送られるパラメータに微妙な差異があるようなので、仕様についてご質問させていただきます。

フォームから検索するページがありsubmit押下したときの挙動として
・Rails3ではparamsに[:commit]というパラメータがセットされている
・Rails5に移行して同じ操作をしたところparamsには[:commit]パラメータが付属していない
という動作挙動の差異が見受けられました。

こちらについては、Railsのバージョンが上がったことが原因でparamsの仕様が変わった経緯などありますでしょうか??

追記:
ちなみにViewではsubmit_tagを使っています。
※パーシャル

<%= form_for :resource_stats, :html => {:method => 'get'} do |f|-%> <p> <%= t('page.query.date') %> : <%= text_field_tag "from", params[:from], {:id => "txtFromDate", :size => 15} %>〜<%= text_field_tag "to", params[:to], {:id => "txtToDate", :size => 15} %> <br/> <%= render :partial => 'libraries_list' %> <%= submit_tag t('page.show') -%> </p> <%- end -%>

さらに追記:
管理ツールで作成されたformを確認すると以下のようにname属性は付与されていますね。
にもかかわらず、paramasにはcommitが入ってきていません。

view

1<input type="submit" name="commit" value="表示" data-disable-with="表示">

params

1{"utf8"=>"✓", "from"=>"", "to"=>"", "lib_code"=>"", "controller"=>"admin/resource_stats", "action"=>"ill_receive_libraries" 2}

もっと追記:
submit_tagの書き方を以下のように変えてみると期待通りcommitのパラメータがセットされます。

<%= submit_tag t('page.show'), 'data-disable-with' => false -%>

data-disable-withがオンになっている場合はcommitのパラメータがつぶされているようなのです。
どのバージョンからこうなっているかわかりませんが、何故こうするとうまくいくのかわからず気持ち悪い。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問