【问题标题】:rails: how to "re"generate view files after changing/adding fieldsrails:如何在更改/添加字段后“重新”生成视图文件
【发布时间】:2012-07-24 19:36:20
【问题描述】:

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

rails 生成脚手架用户

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

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

谢谢,

【问题讨论】:

  • 你有什么收获吗?

标签: ruby-on-rails


【解决方案1】:

一个想法是使用formtastic gem。

那么您的表单可能如下所示:

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

这个表格sn-p的工作原理如下。

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

【讨论】:

    【解决方案2】:

    您可以再次对--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
    

    【讨论】:

    • 好的。那应该行得通。但是,我正在寻找一些简单的方法,其中 1)我在 db/migrate 文件中手动添加字段 2)然后运行我运行一些命令来读取表的字段并自动更新视图文件。但话又说回来,它违背了迁移文件的目的,因为人们可以稍后添加字段等等。
    猜你喜欢
    • 1970-01-01
    • 2014-10-13
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多