如果我提交有错误的新用户表单,它会重定向到索引页面,然后在其上呈现新页面.在控制器中,我指定它应该只呈现新操作,以便用户可以查看/修复他们的错误并重新提交.有什么明显的东西让我失踪吗?
这是我的控制器代码中的创建操作:
def create
@user = User.new(params[:user])
@user.role = "owner"
if @user.save
flash[:notice] = "Registration successful!"
else
flash.now[:notice] = "You have errors!"
render :new
end
end
Run Code Online (Sandbox Code Playgroud) 我正在改变Ability类中的一些自定义CanCan操作来使用块而不仅仅是哈希,但现在他们已经停止实际限制访问.奇怪的是,内置的操作如:manage和:create等似乎仍然可以正常运行.
这是一个例子:
旧
# this one works
can :share, Project, :user_id => user.id
Run Code Online (Sandbox Code Playgroud)
新
# this one doesn't work
can :share, Project do |project|
project.users.exists?(user)
end
Run Code Online (Sandbox Code Playgroud)
以前有人遇到过这个问题吗?