Syl*_*lar 2 ruby ruby-on-rails-4
是的,这个问题充斥在这里,但大多数是几年前我正在使用Rails 4.我已经尝试了几个,它搞砸了我的rails应用程序,所以我不会再采取任何机会.
我已经创建了一个带有字段的脚手架,我对其模型,控制器和视图进行了很多更改.想象一下,几个星期之后,当你创建了一个脚手架后,他们正在为某人工作,他们意识到他们错过了一个重要的专栏 - 大声笑
rails g scaffold Book a:string b:integer
Run Code Online (Sandbox Code Playgroud)
我该如何轻松添加c:date?
很少有例子显示正在运行迁移,很少有人说要编辑rails控制台.我很困惑rails g migration add_this_to_that c:data?
任何与您的答案的参考都非常感谢,因为我还在学习RoR.
要添加新列,您应该创建迁移:
rails g migration add_c_to_books c:date
Run Code Online (Sandbox Code Playgroud)
(注意语法:add_x_to_y),它将此文件添加到db/migrate/timestamp _add_c_to_books.rb:
class AddCToBooks < ActiveRecord::Migration
def change
add_column :books, :c, :date
end
end
Run Code Online (Sandbox Code Playgroud)
现在您只需要运行它:
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
而已.
您可以添加多个列:
rails g migration add_c_d_e_to_books c:date d:string e:integer
Run Code Online (Sandbox Code Playgroud)
这将创建以下迁移:
class AddCDEToBooks < ActiveRecord::Migration
def change
add_column :books, :c, :date
add_column :books, :d, :string
add_column :books, :e, :integer
end
end
Run Code Online (Sandbox Code Playgroud)
或者根据需要命名:
rails g migration my_migration
Run Code Online (Sandbox Code Playgroud)
这将导致干净的迁移:
class MyMigration < ActiveRecord::Migration
def change
end
end
Run Code Online (Sandbox Code Playgroud)
你可以自由地在里面指定你的指令def change.
| 归档时间: |
|
| 查看次数: |
6156 次 |
| 最近记录: |