我刚刚开始学习RoR而且我真的被卡住了。我创建了一个新的应用程序,我正在尝试将一个电话号码字段添加到以前创建的表单(票证)。我创建了数据库,使用以下命令添加了迁移脚本:
rails generate migration AddPhoneToTickets phone:string
加上使用以下方式迁移它:
rake db:migrate
最后,我已将该字段添加到所有相关的html.erb文件中。 当我向App添加新记录时,会显示phone属性,当我填写它并单击“Update”时,我收到消息:“Ticket已成功更新。” 遗憾的是,电话号码不会保存在数据库中,也不会显示在列表中。
期待您的帮助。
答案 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,其中列出其他属性