0
我正在嘗試創建一個非常基本的登錄表單。它沒有密碼或用戶名;簡單地爲用戶的名稱的文本字段和一個提交按鈕爲什麼我的登錄表單不工作?
下面是它的代碼:
<%= form_for :current_user, url: { :controller => 'sessions', :action=>'new' } do |f| %>
<p id='name'>Name:<%= f.text_field :current_user, placeholder: 'First Last', :id => 'current_user' %></p>
<%= f.submit 'Submit', :class => 'btn btn-primary' %>
當我提交的名稱導軌給了我這個錯誤
ActiveRecord::RecordNotFound in SessionsController#new
Couldn't find User without an ID
但它接收到正確的參數,因爲它包括
"current_user"=>{"name"=>"John Doe"}
這就是我想要它接收,但我是哈哈與麻煩的是正確定義實際將current_user設置爲John Doe的操作。
所以這裏就是我有在控制器
class SessionsController < ApplicationController
def new
@current_user = User.find(params[:name])
redirect_to '/calendar'
end
end
所有我想要做的是設置變量@current_user在名爲John Doe的數據庫用戶。因此,我需要採取的行動是將提交的姓名John Doe與數據庫中的John Doe進行匹配。但我不知道該怎麼做,所以任何建議都會很棒。謝謝