Ruby on Rails教程中,如何避免在显示帖子时出现没有禁止的属性错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计324个文字,预计阅读时间需要2分钟。
我在关注这个Rails教程:[Rails教程](http://guides.rubyonrails.org/getting_started.) 5.7节。这里提到,我可能遇到一个`ActiveModel::ForbiddenAttributesError`问题,因为我没有获得错误信息。问题似乎是因为缺少`permit`关键字。我的`create`方法如下:
我一直在关注这个Rails教程:guides.rubyonrails.org/getting_started.html
5.7节告诉我,我应该期待一个ActiveModel :: ForbiddenAttributesError
问题是,我没有得到错误.它没有permit关键字.
我的create方法如下所示:
def create @post = Post.new(post_params) @post.save redirect_to @post end
我正在使用Rails 4.0和Ruby 2.0.知道为什么强参数安全功能不起作用?
文档实际上是误导,你是对的.如果您按照第5.6章所示编码控制器
def create @post = Post.new(post_params) @post.save redirect_to @post end private def post_params params.require(:post).permit(:title, :text) end
你已经允许使用参数标题和文字了.
下一章(5.7)假设您已经没有使用permit-method.
如果您将第2行更改为:
@post = Post.new(post_params)
如截图所示,将抛出错误.此外,第5.7章中的“修复”并没有像您那样定义新的私有方法post_params,而是应用内联修复.
@post = Post.new(params[:post].permit(:title, :text))
本文共计324个文字,预计阅读时间需要2分钟。
我在关注这个Rails教程:[Rails教程](http://guides.rubyonrails.org/getting_started.) 5.7节。这里提到,我可能遇到一个`ActiveModel::ForbiddenAttributesError`问题,因为我没有获得错误信息。问题似乎是因为缺少`permit`关键字。我的`create`方法如下:
我一直在关注这个Rails教程:guides.rubyonrails.org/getting_started.html
5.7节告诉我,我应该期待一个ActiveModel :: ForbiddenAttributesError
问题是,我没有得到错误.它没有permit关键字.
我的create方法如下所示:
def create @post = Post.new(post_params) @post.save redirect_to @post end
我正在使用Rails 4.0和Ruby 2.0.知道为什么强参数安全功能不起作用?
文档实际上是误导,你是对的.如果您按照第5.6章所示编码控制器
def create @post = Post.new(post_params) @post.save redirect_to @post end private def post_params params.require(:post).permit(:title, :text) end
你已经允许使用参数标题和文字了.
下一章(5.7)假设您已经没有使用permit-method.
如果您将第2行更改为:
@post = Post.new(post_params)
如截图所示,将抛出错误.此外,第5.7章中的“修复”并没有像您那样定义新的私有方法post_params,而是应用内联修复.
@post = Post.new(params[:post].permit(:title, :text))

