我按照以下方式构建了一个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 - 应用程序有效,但我无法将手机添加到现有的故障单记录或新记录中。
如果我在这里遗漏了什么,请告诉我。
答案 0 :(得分:1)
您应该显示Ticket的模型。并且还要确保阅读您的服务器日志。
但很可能您未能将phone
添加到attr_accessible
:
attr_accessible ..., :phone
对于Rails 4,请参阅OP的答案。
答案 1 :(得分:1)
所以我按照 Deefour 的评论更新 app / controllers / tickets_controller.rb 文件。
我只修改了 ticket_params 方法来添加手机字段,现在一切正常。
在
# 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