Rails从迁移文件生成scaffold

时间:2016-09-06 22:30:32

标签: ruby-on-rails scaffolding rails-migrations

我使用以下方法创建了一个Rails 4迁移文件:

rails g migration CreateCompanyAndAttributes

我将迁移编辑为:

def change

  create_table :companies do |c|
    c.integer :name
    c.string :logo_url
    c.timestamps
  end

  create_table :attributes do |a|
    a.string :name
    a.string :description
    a.string :image
    a.timestamps
  end

  create_table :company_attributes do |t|
    t.integer :facility_id
    t.integer :attribute_id
    t.timestamps
  end

end 

现在我已准备好部署我的迁移,如何为即将创建的所有三个表生成脚手架?

我应该先运行:

rake db:migrate

然后像

rails g scaffold companies
rails g scaffold attributes
rails g scaffold companies_attributes

2 个答案:

答案 0 :(得分:2)

似乎你想要没有迁移的脚手架(你已经手动完成了)

您可以使用--skip-migration标志运行scaffold命令。例如:

rails g scaffold Company name:string logo_url:string --skip-migration

希望它符合您的需求! :)

答案 1 :(得分:0)

由于我无法从迁移文件开始找到原始问题的答案,因此我最终删除了迁移文件,并为每个表使用了单独的rails generate scaffold命令行命令。

rails g scaffold Company name:string logo_url:string
rails g scaffold Attribute name:string description:string image:string
rails g scaffold CompanyAttribute company_id:integer attribute_id:integer
rake db:migrate