嗨我收到此错误:StatusesController中的NameError #create 未初始化的常量状态::名称
我不确定错误在哪里,但它说:app / controllers / statuses_controller.rb:27:在`create'
这是我在github上的项目https://github.com/Jigmet/Treebook
答案 0 :(得分:2)
你有
params.require(:status).permit(:name, :content)
但您的db / schema.rb中没有列name
,因此您的模型中没有该字段。
您需要通过迁移添加列,或将其从参数中删除。
错误消息表示顺便看一下状态控制器的第27行。
答案 1 :(得分:0)
您删除了列" name"在名为20150121142351_add_user_id_to_statuses.rb
在该文件中,您删除了这样的列:
remove_column :statuses, :name
再次创建该字段,您的问题将得到解决
答案 2 :(得分:0)
你的意思是摆脱:name列吗?如果你这样做,那就改变一下:
params.require(:status).permit(:name, :content)
到此:
params.require(:status).permit(:content)
如果您仍然需要:name列,那么
rails生成迁移AddNameToStatuses 在迁移文件中,编写以下内容:
def change
add_column :statuses, :name, :string
end
执行此操作后,运行:rake db:migrate,重启服务器,你应该好好去!