在运行rails generate model / scaffold后如何添加字段?

时间:2011-01-26 14:45:50

标签: ruby-on-rails

假设我忘记在模型中添加字段。如何干净地添加它?我是否需要重新运行rails generate或者我可以在某处编辑文件吗?

2 个答案:

答案 0 :(得分:18)

你应该重新运行你的生成脚手架/模型(将吹走现有代码)

或者您可以将该字段直接添加到数据库和视图

Rails3中: rails generate migration add_column_name_to_table_name column_name:string

Rails2.x: ruby script/generate migration addColumnToTableName column_name:string

将生成db / migrate中的文件,您可以使用'rake db:migrate'

进行应用

然后您应修改视图以添加适当的代码以显示/编辑新字段。

更多信息:http://railscasts.com/episodes/83-migrations-in-rails-2-0

答案 1 :(得分:0)

rails g scaffold Users name:string

如果我必须在已生成的脚手架中添加新字段,

rails generate migration add_url_to_users url:string

并将_form.htm.erb文件修改为

<div class="field">
     <%= f.label :name %><br>
     <%= f.text_field :name %>
</div>

<div class="field">
     <%= f.label :url %><br>
     <%= f.text_field :url %>
</div>

但我的问题是我只能保存姓名而不是网址