0

ユーザーが自分の名前 (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'ますか?ありがとう

4

1 に答える 1