4

我首先运行了一个脚手架命令,例如,

rails 生成脚手架用户

现在,我去了 app/models/user.rb 并添加了一堆字段

我现在想要运行一个命令来重新生成 app/views/users/ 中的视图文件,这样 _form.html.erb 现在包含我在上面添加的字段的 HTML。

谢谢,

4

2 回答 2

1

一个想法是使用formtastic gem。

然后你的表格可能如下所示:

<%= semantic_form_for @user do |f| %>
  <%= f.inputs %>
  <%= f.actions %>
<% end %>

此表单片段按以下说明工作。

这会呈现一组输入(一个用于数据库表中的大多数列,一个用于每个 ActiveRecord 的 belongs_to-association),然后是默认操作按钮(一个输入提交按钮)。

于 2012-07-26T08:56:43.577 回答
1

您可以再次使用相同的命令--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
于 2012-07-26T09:08:25.747 回答