首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于rails迁移和同步视图的问题

关于rails迁移和同步视图的问题
EN

Stack Overflow用户
提问于 2009-11-14 05:48:07
回答 1查看 1.2K关注 0票数 2

我是一个Rails初学者,正在尝试理解rails迁移是如何工作的。我创建了一个类似如下的脚手架:

代码语言:javascript
复制
script/generate scaffold Item col1:string col2:text
rake db:migrate

我想使用迁移添加另一个col4:

我按如下方式创建了一个迁移:

代码语言:javascript
复制
class AddCol4 < ActiveRecord::Migration
  def self.up
        add_column      :items, :col4, :numeric
        Item.reset_column_information
  end

  def self.down
        remove_column   :items, :col4
  end
end

当我运行rake :migrate时,添加了新的列。但是,视图不同步。我是否应该手动将新列添加到视图中?有没有办法使用新的表列自动重新生成模型/视图?

对不起,这是一个基本的问题,但从我与其他框架的经验来看,它应该是自动的。关于迁移的rails指南并没有明确说明在执行迁移后同步应该如何工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-14 06:05:17

不幸的是,您将需要手动修改视图。视图是通过运行script/generate scaffold命令创建的。迁移只会更改数据库。从技术上讲,您可以重新运行scaffold命令并使其重新生成视图。它将询问您是否要覆盖以前的文件,但是,如果您使用此方法,则仍需要指定所需的所有列。您不能简单地在这里和那里添加一些。

如果您处于早期开发阶段,则可以采用此方法。只需运行

代码语言:javascript
复制
script/destroy scaffold Item

然后重新运行

代码语言:javascript
复制
script generate scaffold Item col1:string col2 string col3:numeric

如果你正在创建只有几个用户才能看到的东西,有一些动态脚手架扩展可用,但我建议你自己做ActiveScaffold,因为它总是会以你想要的方式出现。

我似乎找不到任何其他的动态脚手架插件。以前有很多..。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1732135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档