如何为模型添加属性?

时间:2011-06-16 14:04:47

标签: ruby-on-rails attributes model attr

在rails中,我生成一个包含两个字符串的模型,并希望添加更多字符串。我该怎么做呢?

4 个答案:

答案 0 :(得分:47)

是的,@ JCorcuera的解决方案适用,但我建议向Rails应用更多信息以满足我们的要求。试试这种方法:

rails generate migration add_columnname_to_tablename columnname:datatype

例如:

rails generate migration add_password_to_users password:string

答案 1 :(得分:37)

Active Record将您的表列映射到模型中的属性,因此您不需要告诉rails您需要更多,您需要做的是创建更多列,并且rails将检测它们,属性将是自动添加。

您可以通过migrations向表中添加更多列:

rails generate migration AddNewColumnToMyTable column_name:column_type(string by default)

示例:

rails generate migration AddDataToPosts views:integer clicks:integer last_reviewed_at:datetime 

这将生成一个文件:

db/2017.....rb

打开它并根据需要添加修改:

self.up
  #add_column :tablename, :column_name, :column_type
  add_column :posts, views, :integer
  add_column :posts, clicks, :integer, default: 0
end

希望这有帮助。

答案 2 :(得分:2)

如果您使用的是Rails 4.x,现在可以使用引用生成迁移,如下所示:

  

rails生成迁移AddUserRefToProducts用户:引用

就像你可以在rails guides

上看到的那样

答案 3 :(得分:2)

只是为了让你更简单:

rails g migration add_something_to_model something:string something_else:integer