леса и обновление атрибутов вручную в ruby ​​на рельсах? - PullRequest
4 голосов
/ 18 июля 2010

Мне было интересно, знает ли кто-нибудь, как обновить файлы (добавить / удалить / обновить атрибут), созданные с помощью генератора скаффолдов в ruby ​​on rails.

Например:

скаффолимя студента: строка фамилия: строка

, поэтому будут созданы связанные файлы (контроллер, представление и т. д.) с именем и фамилией в качестве строковых атрибутов.Когда вы переносите db: проект, он создает таблицу в базе данных.Однако, скажем, я хочу обновить, будет ли оно обновлено с помощью атрибута добавления (например, studenId: integer) или если оно удаляет или обновляет атрибут, как вы это делаете?

Я устал просто обновлять созданныйфайлы, но когда я делаю это db: migrate, он все равно устанавливает сгенерированную схему в соответствии с тем, что находится в таблице.Есть ли в рельсах встроенный скрипт, который будет обновлять таблицу?

Любой совет приветствуется?Спасибо, Д

Ответы [ 4 ]

2 голосов
/ 06 марта 2013

Полная команда в этом примере:

$ rails generate migration add_studentid_to_student
1 голос
/ 18 июля 2010

также попробуйте прочитать данные о миграции рельсов для удаления / обновления столбцов таблицы.http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

1 голос
/ 18 июля 2010

Вам нужен новый файл миграции для новых атрибутов из консоли:

$ script/gnerate migration add_sudentid_to_sudent

сгенерирует your_app / db / migrate / 8293898391_add_sudentid_to_sudent.rb, добавьте в этот файл ваши новые атрибуты:

def self.up
  add_column :sudents, :studentId, :integer
end

def self.down
 remove_column :students, :studentsId
end  

после этого обратно на консоль:

$  rake db:migrate

и затем вы можете редактировать свои виды, модель, файлы контроллера и использовать новый атрибут

1 голос
/ 18 июля 2010

Привет Попробуйте ruby script/destroy scaffold student, а затем ruby script/generate scaffold student

...