rails6 viewからcontrollerにget方式とpost方式でデータを渡す

rails6 viewからcontrollerにget方式とpost方式でデータを渡す

rails6でviewからcontrollerにget方式とpost方式でデータを渡すまでの手順を記述してます。Railsのバージョンは6.1.1を使用してます。

環境

  • OS CentOS Linux release 7.9.2009 (Core)
  • Ruby 2.7.2
  • Rails 6.1.1
  • rbenv 1.1.2-40-g62d7798

controller作成

まずは、「disp」という名前でcontrollerを作成します。

「app/controllers」配下に「disp_controller.rb」が作成されます。

view作成

「app/views/disp」配下に「index.html.erb」を作成します。

get方式

それでは、viewからcontrollerにget方式で実際に値を渡します。

「DispController」を以下の通り編集して、インスタンス変数「@str」を作成して、params[:str]でパラメーターを受け取り、値がなければ「”hello world”」とします。

「index.html.erb」では、get方式で値を渡すため、以下のように編集します。

「config」配下にある「routes.rb」にも以下を追加しておきます。

これでrailsを起動すると

ブラウザから http://localhost:3000/disp にアクセスすると、初めは「hello world」が表示され、get方式で値を渡したあとは「hello rails」表示されていると思います。

post方式

次に、viewからcontrollerにpost方式で実際に値を渡します。

「DispController」は、そのままにしておきます。

「index.html.erb」では、post方式で値を渡すため、以下のように編集します。

「config」配下にある「routes.rb」にも以下を追加しておきます。

ブラウザから http://localhost:3000/disp にアクセスすると、初めは「hello world」が表示され、post方式で値を渡した値が表示されていると思います。