加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:30:17 所属栏目:百科 来源:网络整理
导读:我一直在关注这个Rails教程: http://guides.rubyonrails.org/getting_started.html 5.7节告诉我,我应该期待一个ActiveModel :: ForbiddenAttributesError 问题是,我没有得到错误.它没有permit关键字. 我的create方法如下所示: def create @post = Post.new
我一直在关注这个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))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读