【发布时间】:2012-07-24 19:36:20
【问题描述】:
我首先运行了一个脚手架命令,例如,
rails 生成脚手架用户
现在,我去 app/models/user.rb 并添加了一堆字段
我现在想要运行一个命令来重新生成 app/views/users/ 中的视图文件,以便 _form.html.erb 现在包含我在上面添加的字段的 HTML。
谢谢,
【问题讨论】:
-
你有什么收获吗?
标签: ruby-on-rails
我首先运行了一个脚手架命令,例如,
rails 生成脚手架用户
现在,我去 app/models/user.rb 并添加了一堆字段
我现在想要运行一个命令来重新生成 app/views/users/ 中的视图文件,以便 _form.html.erb 现在包含我在上面添加的字段的 HTML。
谢谢,
【问题讨论】:
标签: ruby-on-rails
一个想法是使用formtastic gem。
那么您的表单可能如下所示:
<%= semantic_form_for @user do |f| %>
<%= f.inputs %>
<%= f.actions %>
<% end %>
这个表格sn-p的工作原理如下。
这会呈现一组输入(一个用于数据库表中的大多数列,一个用于每个 ActiveRecord 所属的关联),然后是默认操作按钮(输入提交按钮)。
【讨论】:
您可以再次对--skip-migration 使用相同的命令并指定如下新字段
rails generate scaffold User existing_field:string new_field:string --skip-migration
请注意,您必须使用--skip-migration,否则脚手架生成将失败并出现迁移已存在的错误。系统将提示您要覆盖的所有文件。覆盖除模型文件之外的所有内容,因为您已经在其中进行了一些更改。
此外,由于您要添加新字段,因此您应该相应地更新您的迁移文件。
替代
删除您现有的迁移文件并像以前一样生成脚手架并覆盖选定的文件。
rails generate scaffold User existing_field:string new_field:string
【讨论】: