Rails AddAttributeToModel不会显示新添加的记录

时间:2014-02-25 15:36:54

标签: ruby-on-rails ruby-on-rails-4 strong-parameters

我刚刚开始学习RoR而且我真的被卡住了。我创建了一个新的应用程序,我正在尝试将一个电话号码字段添加到以前创建的表单(票证)。我创建了数据库,使用以下命令添加了迁移脚本:

rails generate migration AddPhoneToTickets phone:string

加上使用以下方式迁移它:

rake db:migrate

最后,我已将该字段添加到所有相关的html.erb文件中。 当我向App添加新记录时,会显示phone属性,当我填写它并单击“Update”时,我收到消息:“Ticket已成功更新。” 遗憾的是,电话号码不会保存在数据库中,也不会显示在列表中。

期待您的帮助。

2 个答案:

答案 0 :(得分:2)

应该是强参数问题:如果您的ticket_params方法如下所示,请检查TicketsController:

def tickets_params
   params.require(:ticket).permit(whatever_other_params, :phone)
end

你也可以检查你的服务器日志中,保存时是否说是未经许可的参数。

看看这里: http://edgeguides.rubyonrails.org/action_controller_overview.html#strong-parameters

答案 1 :(得分:0)

如果您正在使用Rails 4,请在控制器中查找ticket_params方法,并将:phone添加到.permit,其中列出其他属性