ユーザーが自分の名前 (First Last) を入力する非常に初歩的なサインイン フォームがあります。
フォームの ERB のコードは次のとおりです。
<%= form_for :current_user, url: { :controller => 'application', :action=>'current_user' } do |f| %>
<%= f.text_field :name, placeholder: 'First Last', :id => 'currentUser' %>
<%= f.submit 'Submit', :class => 'btn btn-primary' %>
<% end %>
アクション current_user は次のとおりです。
def current_user
@current_user = User.find_by_name(params[:current_user][:name])
redirect_to '/calendar'
end
で、ルートはこちら
match 'calendar/signin', to: 'application#current_user', via: 'post'
フォームは機能します。current_user アクションにデバッガーを配置してテストしました。入力すると、入力しparams
たはずのユーザー名が返されました。しかし、/calendar
ビューに戻ると、 @current_user は再び未定義になりました。ではなく何かを使用する必要がありredirect_to '/calendar'
ますか?ありがとう