[英]Ruby on Rails 4 - Can't update data after adding one extra field to model
我构建了一个RoR应用程序,如下所示:
(我在输入命令时位于应用程序根目录下)
1-创建票务表
rails generate scaffold ticket name:string seat_id_seq:string address:text price_paid:decimal email_address:string
rake db:migrate RAILS_ENV=development
rake db:migrate RAILS_ENV=test
rake db:migrate RAILS_ENV=production
2-该应用程序正常工作,我可以通过RoR Web界面将数据添加到数据库中
3-我在票务表中添加了电话字段
rails generate migration AddPhoneToTickets phone:string
rake db:migrate RAILS_ENV=development
rake db:migrate RAILS_ENV=test
rake db:migrate RAILS_ENV=production
4-我更新了以下VIEW文件,以将电话字段添加到VIEW文件中
sudo nano app/views/tickets/_form.html.erb
sudo nano app/views/tickets/index.html.erb
5-该应用程序可以运行,但是我无法将电话添加到现有的票证记录或新记录中。
如果我在这里缺少什么,请告诉我。
您应该显示票证的模型。 还要确保阅读服务器日志。
但是很可能您无法将phone
添加到attr_accessible
:
attr_accessible ..., :phone
对于Rails 4,请参阅OP的答案。
因此,我遵循Deefour的评论并更新了app / controllers / tickets_controller.rb文件。
我只修改了ticket_params方法以添加phone字段,现在一切正常。
之前
# Never trust parameters from the scary internet, only allow the white list through.
def ticket_params
params.require(:ticket).permit(:name, :seat_id_seq, :address, :price_paid, :email_address)
end
后
# Never trust parameters from the scary internet, only allow the white list through.
def ticket_params
params.require(:ticket).permit(:name, :seat_id_seq, :address, :price_paid, :email_address, :phone)
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.