当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – Rails入门教程:5.7显示帖子 – 没有禁止的属性错误

来源:互联网 收集:自由互联 发布时间:2021-06-23
我一直在关注这个Rails教程: http://guides.rubyonrails.org/getting_started.html 5.7节告诉我,我应该期待一个ActiveModel :: ForbiddenAttributesError 问题是,我没有得到错误.它没有permit关键字. 我的create方法
我一直在关注这个Rails教程:

http://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))
网友评论