我无法理解我的代码有什么问题(Rails 4):
来自帖子的参数:
{:name => "name"}
Run Code Online (Sandbox Code Playgroud)
新动作:
m=Menu.new(params.permit(:name))
Run Code Online (Sandbox Code Playgroud)
此代码的最后一行生成"无法为菜单:名称大量分配受保护的属性"
Chr*_* C. 13
在Rails 4中使用strong_parameters的标准方法是在控制器中创建一个定义允许的参数的私有方法.像这样:
def new
@m = Menu.new(menu_params)
end
private
def menu_params
params.require(:menu).permit(:name, :etc, :etc)
end
Run Code Online (Sandbox Code Playgroud)
然后,您可以从模型中删除attr_accessible行.
看到:
http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html http://railscasts.com/episodes/371-strong-parameters