Próbuję wygenerować kontroler ze wszystkimi akcjami RESTful. Czytałem na Wikibooks - Ruby on Rails, że wystarczyło zadzwonić do generatora z nazwą kontrolera i właśnie to dostałem. Więc uciekłem, script/generate rspec_controller Properties
ale mam pusty kontroler.
Wszelkie inne sugestie byłyby bardzo mile widziane.
ruby-on-rails
controller
rest
rspec
Kolec
źródło
źródło
Odpowiedzi:
Nie wiem o zautomatyzowanym sposobie robienia tego, ale jeśli to zrobisz:
Wszystkie z nich zostaną stworzone dla Ciebie
Aktualizacja dla Rails 4
źródło
route get "mycontroller/create"
(W Rails 3 jest też
rails generate scaffold_controller ...
. Więcej informacji tutaj .źródło
rails g controller Foos create
wygenerowałoby trasę, dlaget '/create'
której w ogóle nie jest RESTful.EDYCJA (z uwagi na kilka komentarzy) : Oryginalne pytanie padło w 2010 roku - stąd odpowiedź NIE dotyczy KOLEJÓW 4, ale szyn 2 !!
spróbuj użyć rusztowania.
Sekcja oficjalnej dokumentacji dotyczącej Ruby On Rails
Jestem pewien, że możesz znaleźć więcej informacji, wyszukując go w Google na temat rusztowań szynowych. Mam nadzieję, że to pomoże.
EDYCJA: dla KOLEJÓW 4
rails g scaffold_controller Property
źródło
rails g scaffold_controller Property
działa również w szynach 3.2. Spowoduje to utworzenie kontrolera PropertiesController z WSZYSTKIMI 7 domyślnymi akcjami RESTful i ich odpowiednimi widokami, bez modelu.W Railsach 4/5 poniższe polecenie załatwia sprawę.
Wygenerował akcje kontrolera, ale nie widok.
źródło
Szyny 5.1
Punkt wyjścia:
Utworzyłeś model bez kontrolera ani widoków (np. Przez:
rails generate model category
)Cel:
Uaktualnij go do pełnego zasobu RESTful
Komenda:
rails generate scaffold_controller category
Wycina kontroler szkieletowy, jego siedem akcji RESTful i powiązane widoki. (Uwaga: możesz podać nazwę modelu CamelCased lub under_scored.)
Wynik:
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
źródło
Szukasz rusztowania.
Próbować:
To da ci kontroler, model, migrację i powiązane testy. Możesz pominąć migrację za pomocą opcji
--skip-migration
. Jeśli nie chcesz innych, musisz je usunąć samodzielnie. Nie martw się o nadpisanie istniejących plików, to się nie stanie, chyba że użyjesz--force
.Jak klew podkreśla w komentarzach, to określa również metodę ciała dla Ciebie, a nie tylko nazwami. Jest to bardzo pomocne jako punkt wyjścia dla kontrolera REST.
źródło
W Rails 4 to
rails g controller apps new create update edit destroy show index
Lub
rails generate controller apps new create update edit destroy show index
jeśli chcesz napisać cały semestr :).źródło
rails g scaffold_controller apps
w Rails 4script / generation rspec_scaffold Właściwość
źródło
Nie ma sposobu (o którym wiem? To jest udokumentowane?), Aby zgasić kontroler, chyba że przez rusztowanie. Ale możesz zrobić:
źródło
Jednym z rozwiązań jest utworzenie skryptu, który akceptuje jeden parametr, nazwę kontrolera i pozwala skryptowi wpisać całe polecenie za Ciebie.
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
źródło