脚手架和ruby在rails上手动更新属性如何?

时间:2010-07-18 08:12:52

标签: ruby-on-rails scaffolding

我想知道是否有人知道如何更新在轨道上的ruby中使用脚手架生成器生成的文件(添加/删除/更新属性)。

例如:

scaffold student name:string lastname:string

所以这将创建一个关联文件(控制器,视图等),其名称和姓氏作为字符串属性。 db:迁移项目时,它将在数据库中创建表。但是,假设我想更新是否使用附加属性(例如studenId:整数)更新它,或者如果删除或更新属性,那么你是如何做到的?

我只是更新了生成的文件,但是当我这样做时:db:migrate它仍然会将生成的模式设置为表中的内容。 rails中是否有内置脚本来更新表格?

任何建议都表示赞赏? 谢谢, d

4 个答案:

答案 0 :(得分:2)

此示例中的完整命令:

$ rails generate migration add_studentid_to_student

答案 1 :(得分:1)

您好,请尝试ruby script/destroy scaffold student,然后ruby script/generate scaffold student

答案 2 :(得分:1)

还尝试阅读rails迁移,删除/更新表列。 http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

答案 3 :(得分:1)

您需要从控制台获取新属性的新迁移文件:

$ script/gnerate migration add_sudentid_to_sudent

它将生成your_app / db / migrate / 8293898391_add_sudentid_to_sudent.rb,在此文件中为您的新属性添加spicify:

def self.up
  add_column :sudents, :studentId, :integer
end

def self.down
 remove_column :students, :studentsId
end  

之后,回到控制台:

$  rake db:migrate

并且您可以编辑视图,模型,控制器文件并使用新属性