首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >入门教程中的TypeError

入门教程中的TypeError
EN

Stack Overflow用户
提问于 2013-07-01 11:47:41
回答 1查看 2.4K关注 0票数 5

我只是在开始使用Rails教程中试用Rails。我遵循了所有的步骤,但是我不断地得到错误TypeError in PostsController#create

当我在步骤5.6中在控制器中保存数据时,就会发生这种情况。

我的PostsController.rb看起来是这样的:

代码语言:javascript
复制
class PostsController < ApplicationController

  def new
  end

  def create
    @post = Post.new(post_params)

    @post.save
    redirect_to @post
  end

  private
  def post_params
    params.require(:post).permit(:title, :text)
  end
end

我在本地:3000/帖子/新的。我请求发布一篇文章,但没有做到以下几点:

无法将符号转换为字符串

代码语言:javascript
复制
app/controllers/posts_controller.rb:15:in `post_params'
app/controllers/posts_controller.rb:7:in `create'

加载以下文件时发生此错误: post

您可以在我的GitHub回购上找到我的所有代码。

请帮助:(

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-01 12:01:47

您使用的是rails版本3.2.xx,version版本3.2.xx不包括strong_parameters gem

请注意,def post_params是私有的。这种新方法通过操作传递给模型的哈希来防止攻击者设置模型的属性。有关更多信息,请参阅这篇关于强参数。的博客文章。

  1. gem "strong_parameters"添加到Gemfile中,然后运行bundle install
  2. 在您的模型中包括ActiveModel::ForbiddenAttributesProtection或创建config/initializers/strong_parameters.rb并放置如下: ActiveRecord::Base.send(:include, ActiveModel::ForbiddenAttributesProtection))
  3. config.active_record.whitelist_attributes = false in config/application.rb

参数

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17403778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档