我只是在开始使用Rails教程中试用Rails。我遵循了所有的步骤,但是我不断地得到错误TypeError in PostsController#create。
当我在步骤5.6中在控制器中保存数据时,就会发生这种情况。
我的PostsController.rb看起来是这样的:
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/帖子/新的。我请求发布一篇文章,但没有做到以下几点:
无法将符号转换为字符串
app/controllers/posts_controller.rb:15:in `post_params'
app/controllers/posts_controller.rb:7:in `create'加载以下文件时发生此错误: post
您可以在我的GitHub回购上找到我的所有代码。
请帮助:(
发布于 2013-07-01 12:01:47
您使用的是rails版本3.2.xx,version版本3.2.xx不包括strong_parameters gem
请注意,def post_params是私有的。这种新方法通过操作传递给模型的哈希来防止攻击者设置模型的属性。有关更多信息,请参阅这篇关于强参数。的博客文章。
gem "strong_parameters"添加到Gemfile中,然后运行bundle installActiveModel::ForbiddenAttributesProtection或创建config/initializers/strong_parameters.rb并放置如下:
ActiveRecord::Base.send(:include, ActiveModel::ForbiddenAttributesProtection))config.active_record.whitelist_attributes = false in config/application.rbhttps://stackoverflow.com/questions/17403778
复制相似问题