Подтвердить что ты не робот

Как добавить атрибут к модели?

В rails я создаю модель с двумя строками и хотел бы добавить еще. Как я могу это сделать?

4b9b3361

Ответ 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