LoginSignup
0
0

More than 5 years have passed since last update.

Railsのセッション管理方法

Posted at

Sessionとは

簡単に言うと

ページ間で変数の内容を維持するための仕組み

Sessionの特徴

  • セッション情報は、Railsのデフォルトの設定ではクッキーに保存
  • 4KB以上のデータは保存できない

参考:http://railsdoc.com/references/session

Sessionを用いたフォーム登録

本来であれば、
<%= form_for(@user) do |f| %>
としてform_forの引数にモデルのインスタンスを渡して上げることで自動的にパスの設定は行ってくれるが、今回の場合はsessionモデルという名のモデルを用意していないので明示する。
例えばログインの場合は、以下のように書くことが出来る。

new.html.erb
<%= form_for(:session, url: login_path) do |f| %>
  <%= f.label :email %>
  <%= f.email_field :email %>

  <%= f.label :password %>
  <%= f.password_field :password %>

  <%= f.submit "Log in" %>
<% end %>

そして、このように書くと、paramsに入る内容は
params[:session][:email]
params[:session][:password]
のように入れ子構造になる。

例えば、
email_fieldに test@test.com 、password_fieldに hogehoge と入力すると、
パラメーターは以下のように。
{ session: { email: "test@test.com", password: "hogehoge" } }

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0