-2
我正在研究類似於reddit的ruby應用程序,並且在添加用戶註冊功能時遇到了此錯誤。沒有將Symbol隱式轉換爲Integer Rails 5
<%= button_to "Yes", {controller: 'users',
action: 'create',
params: params}, class: 'btn btn-success' %>
要修正這個錯誤我改變了代碼如下所示:
<%= button_to "Yes", {
controller: 'users',
action: 'create',
params: {
user {
name: @user.name,
email: @user.email,
password: @user.password,
password_confirmation: @user.password_confirmation
}
}
}, class: 'btn btn-success' %>
這解決了這個問題,但我想我有一個與下面的代碼行,導致該錯誤提交視圖瞭解爲什麼第一行不起作用,並獲得實施此方法的最佳方法的建議。
錯誤被拋出@user.name =params[:user][:name]
。
這裏是用戶控制的全高清:
def create
@user = User.new
@user.name = params[:user][:name]
@user.email = params[:user][:email]
@user.password = params[:user][:password]
@user.password_confirmation = params[:user][:password_confirmation]
end
從我的服務器日誌中我可以看到該用戶已被更改爲一個長字符串在PARAMS:
Parameters {"authenticity_token"=>"xSeWlcW6Ix5kciNGi2/xAep2aRq0CmefI6lnieQutlolAsk/qXM+mGvWixvNfTMedHnstWDd29mbMThGF1FCqg==", "commit"=>"Sign up", "user"=>"email=ja%40j.com&name=jasonj&password=jjjjjj&password_confirmation=jjjjjj", "utf8"=>"✓"}
你可能正在使用強大的參數,顯示控制器代碼,並在那裏引發錯誤確切的片斷.. –
你能告訴我們則params的視圖中的價值? –