Saya ingin menghapus semua file yang dibuatnya dan mengembalikan semua perubahan yang dibuat, tetapi tidak harus ke database, tetapi lebih ke file konfigurasi.
Saya ingin secara otomatis menghapus semua pemetaan sumber daya untuk model / pengontrol yang dihapus dalam file routes.rb dan di mana pun yang mungkin telah dilakukan perubahan?
ruby
ruby-on-rails-3
rails-generate
marcamillion
sumber
sumber
rails destroy scaffold lalalal
dan itu berhasil.rails generate <gemname>:install
-f
bendera untuk memaksanya membuat ulang / mengedit kembali file ... Kemudian Anda dapat melihat file mana yang dibuat / diubah, dan melanjutkan menghapus secara manual.Layak disebutkan
-p
bendera di sini ("p" untuk berpura - pura ).Jika Anda menambahkan ini ke perintah, ia hanya akan menjalankan "tes" dan menunjukkan kepada Anda file apa yang akan dihapus tanpa benar-benar menghapusnya.
Jika Anda senang dengan itu, jalankan perintah lagi tanpa
-p
bendera.sumber
rails destroy controller Controller_name
sedang mengembalikan banyak kesalahan. Untuk dapat menghancurkan pengontrol saya harus menghapus rute terkait di routes.rb. PS Saya menggunakan rel 3.1sumber
Ini adalah prototipe untuk menghasilkan atau menghancurkan pengontrol atau model di Rails:
Misalnya, jika Anda perlu membuat Pengontrol Pengguna:
atau
Jika Anda ingin menghancurkan pengontrol Pengguna atau kembali ke tindakan di atas, gunakan:
atau:
sumber
Anda bisa menggunakan
rails d model/controller/migration ...
untuk menghancurkan atau menghapus perubahan yang dihasilkan dengan menggunakanrails generate
perintah.Sebagai contoh:
membuat model bernama
home
dengan atributname
. Untuk menghapus file dan kode yang dihasilkan dari perintah itu bisa kita gunakansumber
Anda dapat menghancurkan semua hal yang diciptakan dengan cara yang sama kecuali perubahan hal kecil. Untuk controller,
Untuk Model
Anda tinggal memasukkan
d(destroy)
alih-alihg(generate)
dalam migrasi Anda.sumber
Jika Anda lebih suka menghapus controller secara manual:
Untuk controller
welcome
sumber
Anda dapat mengembalikan
output dengan menggunakan:
sumber
Misalkan saya telah membuat controller bernama "sample" seperti:
Jika saya harus menghancurkan pengontrol ini, yang harus saya lakukan adalah bertukar
generate
dengandestroy
, seperti padaJika Anda ingin membalikkan generasi, yang harus Anda lakukan hanyalah bertukar
generate
dengandestroy
.sumber
Jika Anda menggunakan Rails, gunakan
rails d controller Users
.Dan, jika Anda menggunakan Zeus, gunakan
zeus d controller Users
.Di sisi lain, jika Anda menggunakan git atau SVN, kembalikan perubahan Anda dengan nomor komit. Ini jauh lebih cepat.
sumber
Anda dapat membatalkan
rails generate
dengan cara berikut:rails destroy MODEL
rails destroy controller_name
sumber
Untuk membalikkan itu, kita hancurkan saja. Buka aplikasi Terminal dan pergi ke direktori proyek, lalu ketik ini:
Di mana
CamelCase
ada nama model atau pengontrol apa pun. Ini akan menghapus model, migrasi dan beberapa file uji terkait. (Anda dapat melihat hasilnya di jendela Terminal setelah Anda menjalankan perintah.)sumber
Kami menggunakan menghasilkan sebagai
rails generate app
. Jadi regenerasigenerate
pernyataan apa pun dapat dibalik menggunakandestroy
pernyataan. Hanya menggantigenerate
dengandestroy
yaiturails generate app
dapat ditulis sebagairails destroy app'
rel menghasilkan ____as
rel menghancurkan ____ `sumber
Perancah yang dihapus untuk model yang dipilih:
sumber
Sebelum mengembalikan
rails generate
, pastikan Anda mengembalikan migrasi terlebih dahulu.Kasus 1: jika Anda ingin mengembalikan perancah maka jalankan perintah ini:
Kasus 2: jika Anda ingin mengembalikan model maka jalankan perintah ini:
Kasus 3: jika Anda ingin mengembalikan pengontrol maka jalankan perintah ini:
Catatan: Anda juga dapat menggunakan pintasan
d
sebagai gantidestroy
.sumber
Untuk membalikkan
rails generate
, gunakanrails destroy
:Lihat "
rails destroy
" untuk informasi lebih lanjut.sumber
Semua versi rel memiliki "hancurkan", jadi-, jika Anda membuat perancah (misalnya) bernama "tugas" menggunakan generator, untuk menghancurkan semua perubahan dari langkah yang menghasilkan Anda harus mengetik:
Semoga ini bisa membantu Anda.
sumber