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

Как добавить поле после запуска рельсов, создать модель/эшафот?

Скажем, я забыл добавить поле в свою модель. Как я могу добавить его в чистоту? Нужно ли мне повторно запускать рельсы, или я могу где-нибудь редактировать файл?

4b9b3361

Ответ 1

Либо вы должны повторить запуск своего эскиза/модели (сдует существующий код)

или вы можете добавить поле непосредственно в базу данных и ваше представление

Rails3: rails generate migration add_column_name_to_table_name column_name:string

или

Rails2.x: ruby script/generate migration addColumnToTableName column_name:string

который будет генерировать файл в db/migrate, который вы можете применить с помощью "rake db: migrate"

Затем вы должны изменить свои представления, чтобы добавить соответствующий код для отображения/редактирования нового поля.

Дополнительная информация: http://railscasts.com/episodes/83-migrations-in-rails-2-0

Ответ 2

rails g scaffold Users name:string

Если мне нужно добавить новое поле в уже сгенерированный эшафот,

rails generate migration add_url_to_users url:string

и измените файл _form.htm.erb как

<div class="field">
     <%= f.label :name %><br>
     <%= f.text_field :name %>
</div>

<div class="field">
     <%= f.label :url %><br>
     <%= f.text_field :url %>
</div>

Но моя проблема в том, что я могу сохранить имя только не url