所以我按照"从头开始验证"的轨道进行了操作 - http://railscasts.com/episodes/250-authentication-from-scratch
我知道rails 4不使用attr_accessible.我在我的用户控制器中将user_params定义为私有方法.出于某种原因,rails给了我一个用户参数的未定义错误.我正在开发另一个rails应用程序,我检查了它中的post控制器.除了工作之外,它完全一样.知道这里的问题是什么吗?
users_controller.rb
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.create(user_params)
if @user.save
redirect_to root_url, :notice => "Signed up!"
else
render "new"
end
private
def user_params
params.require(:user).permit(:email, :password, :password_confirmation)
end
Run Code Online (Sandbox Code Playgroud)
错误消息:未定义的局部变量或方法`user_params'for#
完整堆栈跟踪:
app/controllers/
create' actionpack (4.1.1) lib/action_controller/metal/implicit_render.rb:4:inusers_controller.rb :7:在send_action'actionpack(4.1.1)lib/abstract_controller/base.rb:189:inprocess_action' actionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:inprocess_action'actionpack(4.1.1)lib/abstract_controller/callbacks.rb:20:inblock in process_action' activesupport (4.1.1) lib/active_support/callbacks.rb:113:incall 'activesupport(4.1.1)lib/active_support/callbacks.rb:113:在call' activesupport (4.1.1) lib/active_support/callbacks.rb:229:in块中停止'activesupport(4.1.1)lib/active_support/callbacks.rb:229:在call' activesupport (4.1.1) lib/active_support/callbacks.rb:229:in块中停止'activesupport(4.1.1)lib /active_support/callbacks.rb:166:incall' activesupport (4.1.1) lib/active_support/callbacks.rb:166:in阻止'activesupport(4.1.1)lib/active_support/callbacks.rb:166:在call' activesupport …