如何为模型添加属性?

jst*_*ttn 37 attributes model ruby-on-rails attr

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

vis*_*shB 48

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

rails generate migration add_columnname_to_tablename columnname:datatype
Run Code Online (Sandbox Code Playgroud)

例如:

rails generate migration add_password_to_users password:string
Run Code Online (Sandbox Code Playgroud)


JCo*_*era 39

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

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

rails generate migration AddNewColumnToMyTable column_name:column_type(string by default)
Run Code Online (Sandbox Code Playgroud)

例:

rails generate migration AddDataToPosts views:integer clicks:integer last_reviewed_at:datetime 
Run Code Online (Sandbox Code Playgroud)

这将生成一个文件:

db/2017.....rb
Run Code Online (Sandbox Code Playgroud)

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

self.up
  #add_column :tablename, :column_name, :column_type
  add_column :posts, views, :integer
  add_column :posts, clicks, :integer, default: 0
end
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.