繁体   English   中英

Ruby on Rails 4-在模型中添加一个额外的字段后无法更新数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM