В rails я создаю модель с двумя строками и хотел бы добавить еще. Как я могу это сделать?
Как добавить атрибут к модели?
Ответ 1
Active Record сопоставляет столбцы таблиц с атрибутами в вашей модели, поэтому вам не нужно указывать рельсы, что вам нужно больше, что вам нужно сделать, это создать больше столбцов, а рельсы будут их обнаруживать, атрибуты будут автоматически добавляется.
Вы можете добавить больше столбцов в таблицу через 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
Да, решение от @JCorcuera применимо, но я предлагаю применить к Rails немного больше информации для выполнения нашего требования. Попробуйте этот подход:
rails generate migration add_columnname_to_tablename columnname:datatype
Например:
rails generate migration add_password_to_users password:string
Ответ 3
Если вы используете Rails 4.x, теперь вы можете создавать миграции со ссылками, например:
рельсы генерируют миграцию пользователя AddUserRefToProducts: ссылки
как вы можете видеть на направляющих рельсов
Ответ 4
Просто, чтобы сделать это еще проще, вы можете сделать:
rails g migration add_something_to_model something:string something_else:integer