我开始进入 Ruby on Rails 的庞大世界,并尝试了解脚手架和模型。 (提示,我是一名设计师)
我使用rails生成脚手架命令
rails generate scaffold Lesson title:string description:text
但是是否可以使用新的键、值和 Rails 来更新类(class)表?
我尝试过:
rails generate model Lesson title:string description:text dtstart:datetime
但是当我运行 db:migrate 时它失败了,我知道的唯一方法是删除所有脚手架并重新生成它。
我确信一定有一个更简单的解决方案:)
我认为(但我不确定,这是因为 db/development.sqlite3 文件未更新,当我手动删除内容然后运行 bd:migrate 时)有没有办法让一切都发生立即更新?
最佳答案
我认为没有办法完成您所描述的操作 - 通常,如果您想向模型添加新字段,您需要生成迁移:
rails g migration AddStartToLesson
然后打开迁移文件并添加将添加这些字段的代码。它最终可能看起来像这样:
class AddStartToLesson < ActiveRecord::Migration
def self.up
add_column :lessons, :start, :datetime
end
def self.down
remove_column :lessons, :start
end
end
并且您必须更新一些 View - 可能是 _form.html.erb,以使表单字段输入该数据,并更新 index.html.erb 和 show.html.erb 来显示它。 (它们可能位于 app/views/lessons/中)
关于database - 轨道 3 : Update database and scaffold,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827465/