Saya mencoba menghasilkan pengontrol dengan semua tindakan RESTful yang dihentikan. Saya telah membaca di Wikibooks - Ruby on Rails bahwa yang perlu saya lakukan hanyalah memanggil generator dengan nama pengontrol dan saya akan mendapatkannya. Jadi, saya berlari script/generate rspec_controller Properties
tetapi mendapat pengontrol kosong.
Saran lain akan sangat dihargai.
Jawaban:
Saya tidak tahu tentang cara otomatis untuk melakukannya, tetapi jika Anda melakukannya:
Semuanya akan dibuat untuk Anda
Pembaruan untuk Rails 4
sumber
route get "mycontroller/create"
(buat harus menjadi pos)Di Rails 3 juga ada
rails generate scaffold_controller ...
. Info selengkapnya di sini .sumber
rails g controller Foos create
akan menghasilkan ruteget '/create'
yang tidak tenang sama sekali.EDIT (karena beberapa komentar) : Pertanyaan asli adalah pada tahun 2010 - maka jawabannya BUKAN untuk RAILS 4, tetapi untuk rail 2 !!
coba gunakan perancah.
Bagian dari dokumen resmi di Ruby On Rails
Saya yakin Anda dapat menemukan info lebih lanjut jika Anda melakukan pencarian google pada perancah rel. Semoga membantu.
EDIT: Untuk RAILS 4
rails g scaffold_controller Property
sumber
rails g scaffold_controller Property
bekerja di rel 3.2 juga. Ini akan membuat PropertiesController dengan SEMUA 7 tindakan RESTful default dan tampilan masing-masing, tanpa model.Di Rails 4/5, perintah berikut melakukan trik untuk saya.
Ini menghasilkan tindakan pengontrol tetapi bukan tampilan.
sumber
Rel 5.1
Titik pangkal:
Anda telah menciptakan model tanpa controller, atau pandangan (misalnya melalui:
rails generate model category
)Objektif:
Tingkatkan ke sumber daya RESTful penuh
Perintah:
rails generate scaffold_controller category
Ini mematikan pengontrol perancah, tujuh tindakan RESTful dan tampilan terkait. (Catatan: Anda dapat mengirimkan nama model CamelCased atau under_scored.)
Keluaran:
varus@septimusSrv16DEV4:~/railsapps/dblirish$ rails generate scaffold_controller category Running via Spring preloader in process 45681 create app/controllers/categories_controller.rb invoke erb create app/views/categories create app/views/categories/index.html.erb create app/views/categories/edit.html.erb create app/views/categories/show.html.erb create app/views/categories/new.html.erb create app/views/categories/_form.html.erb invoke test_unit create test/controllers/categories_controller_test.rb invoke helper create app/helpers/categories_helper.rb invoke test_unit invoke jbuilder create app/views/categories/index.json.jbuilder create app/views/categories/show.json.jbuilder create app/views/categories/_category.json.jbuilder
sumber
Anda sedang mencari perancah.
Mencoba:
Ini akan memberi Anda pengontrol, model, migrasi dan tes terkait. Anda dapat melewati migrasi dengan opsi
--skip-migration
. Jika Anda tidak menginginkan yang lain, Anda harus menghapusnya sendiri. Jangan khawatir tentang menimpa file yang sudah ada, itu tidak akan terjadi kecuali Anda menggunakannya--force
.Seperti yang ditunjukkan klew di komentar, ini juga mendefinisikan badan metode untuk Anda, bukan hanya nama. Ini sangat membantu untuk digunakan sebagai titik awal untuk pengontrol REST Anda.
sumber
Di Rails 4 itu
rails g controller apps new create update edit destroy show index
Atau
rails generate controller apps new create update edit destroy show index
jika Anda ingin menulis istilah lengkapnya :).sumber
rails g scaffold_controller apps
di Rails 4script / menghasilkan Properti rspec_scaffold
sumber
Tidak ada cara (yang saya ketahui? Yang didokumentasikan?) Untuk mematikan pengontrol kecuali melalui perancah. Tapi Anda bisa melakukan:
sumber
Salah satu solusinya adalah membuat skrip yang menerima satu parameter, nama pengontrol, dan biarkan skrip mengetikkan seluruh perintah untuk Anda.
die () { echo "Please supply new rails controller name to generate." echo >&2 "$@" exit 1 } [ "$#" -eq 1 ] || die "1 argument required, $# provided" rails g controller "$1" new create update edit destroy show index
sumber