Rails 3:更新数据库和脚手架

Yan*_*all 2 database scaffolding ruby-on-rails-3

我开始在Ruby on Rails的大毛茸茸的世界里,我正试图绕过脚手架和模型.(提示,我是设计师)

我使用rails generate scaffold命令

rails generate scaffold Lesson title:string description:text
Run Code Online (Sandbox Code Playgroud)

但是,是否可以使用新的键更新Lesson表,使用rails的值?

我试过了:

rails generate model Lesson title:string description:text dtstart:datetime
Run Code Online (Sandbox Code Playgroud)

但是当我运行db:migrate时它失败了,我知道这样做的唯一方法就是删除所有的脚手架并重新生成它.

我敢肯定必须有一个更简单的解决方案:)

我想(但我不确定,这是因为db/development.sqlite3文件未更新,当我手动删除内容然后运行bd:migrate)有没有办法让evrything一次更新?

MrT*_*rus 5

我认为没有办法按照您的描述进行操作 - 通常,如果要向模型添加新字段,则需要生成迁移:

rails g migration AddStartToLesson
Run Code Online (Sandbox Code Playgroud)

然后打开迁移文件并添加将添加这些字段的代码.它可能最终看起来像这样:

class AddStartToLesson < ActiveRecord::Migration
  def self.up
    add_column :lessons, :start, :datetime
  end

  def self.down
    remove_column :lessons, :start
  end
end
Run Code Online (Sandbox Code Playgroud)

而且你必须更新一些视图 - 可能是_form.html.erb,以获取表单字段来输入该数据,并使用index.html.erb和show.html.erb来显示它.(他们可能在app/views/lessons /中)