私はRuby on Railsを学ぼうとしています。私はルビーで簡単な認証を作成するためにYouTubeのチュートリアルに従ってきました。すべてがうまくいっていますが、理解できません。ログインフォームはどのように動作しますか?
は私が持っているルート
resources :sessions, only: [:new, :create, :destroy]
get 'signup', to: 'users#new', as: 'signup'
get 'login', to: 'sessions#new', as: 'login'
get 'logout', to: 'sessions#destroy', as: 'logout'
私はセッションのためのコントローラとsessions_controllerユーザー
def new
end
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, notice: 'Logged in !'
else
render :new
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, notice: 'Logged out!'
end
と私の意見/セッション/ new.html.erbを持って
<h1>Log In</h1>
<%= form_tag sessions_path do %>
<div class="field">
<%= label_tag :email %><br>
<%= text_field_tag :email %>
</div>
<div class="field">
<%= label_tag :password %><br>
<%= password_field_tag :password %>
</div>
<div class="actions">
<%= submit_tag "Log In" %>
</div>
<% end %>
ログインフォームの仕組みを理解したい。私は/ loginに行くと、セッションコントローラとメソッドnewからアクションを要求することを理解していますが、メールとパスワードを入力して、次に何をすべきかを知らせる方法を知っていますか? PHPではあります。それはどのようにルビーで動作するのですか?
へようこそ! ^^ – Ninigi
申し訳ありません:私は貼り付けたい: