24 ответов:
первый, если вы уже запустили миграции, порожденной
scaffoldкоманда, вы должны выполнить откат в первую очередь.rake db:rollbackвы можете создать монтаж с помощью:
rails generate scaffold MyFoo(или похожие), и вы можете уничтожить/отменить он с помощью
rails destroy scaffold MyFooэто приведет к удалению всех файлов, созданных
generate, но не любые дополнительные изменения, которые вы, возможно, сделали вручную.
Ришав Растоги прав, и с рельсами 3.0 или выше его:
rails generate scaffold ...rails destroy scaffold ...
Вы можете отменить все, что вы сделали с
rails generate xxxBy
rails destroy xxxнапример, это относится к генераторам миграции, scaffold, model...и т. д.
Если вы просто хотите увидеть файлы, которые создаст генератор, вы можете передать параметр generator --pretend or-P.
лучший способ-это :
destroy rake db: rake db:rollbackДля Ремонтины:
rails destroy scaffold Name_of_script
rails d scaffold <scaffoldname>кроме того, убедитесь, что вы отменяете миграцию, которую вы сделали либо путем отката, либо до определенной версии.
в первый раз вы можете проверить миграцию базы данных, если у вас есть generate scaffold. вы должны уничтожить их, чтобы очистить вашу базу данных
rake db:rollbackзатем
rails d scaffold
вам нужно откатить миграции тоже после уничтожения леса тоже
rails destroy scaffold 'scaffoldname' rake db:rollback
для генерации ремонтины в рельсах -
rails generate scaffold MODEL_GOES_HEREдля отмены лесов в рельсах -
rails destroy scaffold MODEL_GOES_HERE
Итак, процесс, который вы должны следовать, чтобы отменить леса в рельсах 4. Выполните команду, как показано ниже:
rails d scaffold FooBarrake db:rollbackесли you_had_run_rake db:migrateпосле создания выше эшафот?вот именно!
Ура!
сначала вам придется сделать rake db:rollback для уничтожения в таблице
если вы уже запустили rake db: migrate ирельсы г эшафот модель
сначала рекомендуем откат, введите свой терминал.
rake db:rollbackдобавить уничтожить эшафот ("d" означает "уничтожить")
rails d scaffold name_of_scaffoldнаслаждайтесь вашим кодом.
сначала нужно откатить миграции, выполнив rake db:rollback if any А потом уничтожить эшафот с помощью
rails d scaffold foo
когда мы создадим scaffold, будут созданы следующие файлы:
:rails generate scaffold Gameфайлы:> invoke active_record > create db/migrate/20160905064128_create_games.rb > create app/models/game.rb > invoke test_unit > create test/models/game_test.rb > create test/fixtures/games.yml > invoke resource_route > route resources :games > invoke inherited_resources_controller > create app/controllers/games_controller.rb > invoke erb > create app/views/games > create app/views/games/index.html.erb > create app/views/games/edit.html.erb > create app/views/games/show.html.erb > create app/views/games/new.html.erb > create app/views/games/_form.html.erb > invoke test_unit > create test/controllers/games_controller_test.rb > invoke helper > create app/helpers/games_helper.rb > invoke test_unit > create test/helpers/games_helper_test.rb > invoke jbuilder > create app/views/games/index.json.jbuilder > create app/views/games/show.json.jbuilder > invoke assets > invoke coffee > create app/assets/javascripts/games.js.coffee > invoke scss > create app/assets/stylesheets/games.css.scss > invoke scss > create app/assets/stylesheets/scaffolds.css.scssесли мы запустили миграцию после этого, то мы должны сначала откатить миграцию, так как удаление scaffold также удалит файл миграции, и мы не сможем вернуть эту миграцию.
если мы запустили миграцию:
rake db:rollbackи после этого мы можем безопасно извлечь ремонтину этим запятая.
rails d scaffold Gameэта команда удалит все файлы, созданные scaffold в вашем проекте.
каждый раз, когда вы запускаете
rails g, вы можете изменить его, выполнивrails d(уничтожить), чтобы удалить то, что было сгенерировано. Если вы уже запустилиrake db:migrate, вам нужно будет запуститьrake db:rollbackпрежде чем уничтожить :)
Пример 1: если вы запускаете только эту команду для создания scaffold -
rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE Ex - rails generate scaffold User name:string address:textно до сих пор вы не запускали ни одной команды для миграции, как
rake db:migrateтогда вам нужно будет выполнить только эту команду, как -
rails destroy scaffold User name:string address:textПример 2: если вы уже запускаете (Scaffold и миграция) с помощью следующих команд, таких как -
rails generate scaffold User name:string address:text rake db:migrateзатем вам нужно запустить первую команду миграции отката, а затем уничтожить эшафот, как показано ниже -
rake db:rollback rails destroy scaffold User name:string address:textтаким образом, мы можем отменить строительные леса. Также мы можем использовать d на уничтожить и g на создать как ярлык.
да
scaffoldсам и все то, что его объединяет.The напротив
generateи отменит один. Просто передайте ему имя так же, как и сgenerateи он будет вычищен из вашего проекта:rails generate scaffold posts title:string content:text rails destroy scaffold posts title:string content:text
чтобы создать эшафот:
rails generate scaffold abcчтобы вернуть этот эшафот:
rails destroy scaffold abcЕсли вы запустили миграцию для него просто откат
rake db:rollback STEP=1
провайдер другое решение на основе git
начать новый проект
rails new project_name cd project_nameинициализировать git
git init git commit -m "initial commit"создать каркас
rails g scaffold MyScaffold rake db:migrateоткат плахой
rake db:rollback git reset --hard git clean -f -d
рельсы [опция] scaffold scaffold_name
опции
g generate d destroyесли у вас
rails g scaffold myFooзатем отменить его обратно с помощью
rails d scaffold MyFoo
Comments