У меня есть следующие модели:Как добавить поле в модель?
class Product < ActiveRecord::Base
end
Как я могу добавить поле к нему?
У меня есть следующие модели:Как добавить поле в модель?
class Product < ActiveRecord::Base
end
Как я могу добавить поле к нему?
Какой тип поля вы хотите добавить? Если это строка сделать это, как показано ниже:
rails generate migration add_field_to_products field:string
Где поле 'это имя поля, которое вы хотите добавить, так переименовать соответственно.
Затем выполните в командной строке rake db:migrate
, после чего поле должно быть в модели.
Также этот вопрос является дубликатом: Adding a column to an existing table in a Rails migration. Там больше обсуждается это, если это пока неясно.
Не следует ли писать что-либо на файл напрямую? Или это единственный способ, через командную строку? – gespinha
У вас уже есть модель, поэтому я предполагаю, что вы уже выполнили первоначальную миграцию, которая создала таблицу продуктов. Но если вы еще не запустили его, вы можете просто добавить t.string: поле внутри цикла create_table. В противном случае да, это правильный путь, так что ваша схема изменится, чтобы отразить новое поле. – ifma
Не могу я просто добавить поле в таблицу продуктов внутри миграции продуктов? – gespinha
Предполагая, что это Ruby On Rails, вы должны использовать миграции: http://stackoverflow.com/questions/17728201/adding-updating-column-in-a-model-using-rubymine – John