Tworzenie widoków Ruby on Rails (tylko) po utworzeniu kontrolerów i modeli
Otrzymałem projekt, który ma Kontrolery (tylko minimalny kod) i modele, ale brakuje widoków. Czy istnieje sposób na generowanie widoków tylko za pomocą rusztowania lub innego narzędzia?
6 answers
rails g scaffold User --migration=false --skip
--skip
oznacza pominięcie plików, które już istnieją. (Przeciwieństwem jest --force
.)
Jeśli nie chcesz pomocników, --helpers=false
.
Przykładowe wyjście po usunięciu moich User
odsłon:
invoke active_record
identical app/models/user.rb
invoke test_unit
identical test/unit/user_test.rb
skip test/fixtures/users.yml
route resources :users
invoke scaffold_controller
identical app/controllers/users_controller.rb
invoke erb
exist app/views/users
create app/views/users/index.html.erb
create app/views/users/edit.html.erb
create app/views/users/show.html.erb
create app/views/users/new.html.erb
create app/views/users/_form.html.erb
invoke test_unit
identical test/functional/users_controller_test.rb
invoke helper
identical app/helpers/users_helper.rb
invoke test_unit
identical test/unit/helpers/users_helper_test.rb
invoke assets
invoke coffee
identical app/assets/javascripts/users.js.coffee
invoke scss
identical app/assets/stylesheets/users.css.scss
invoke scss
identical app/assets/stylesheets/scaffolds.css.scss
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-23 01:38:06
To jest to, co generator rusztowań nazywa wewnętrznie:
rails g erb:scaffold User
erb
jest używany silnik szablonów, więc można również użyć haml:scaffold
.
Musisz wyraźnie określić pola, których chcesz użyć w rusztowaniu--rails Nie , a nie automatycznie wydedukowuje je z utworzonego modelu. Na przykład:
rails g erb:scaffold User firstname lastname reputation
Zobacz rails g --help
dla opcji takich jak pomijanie, wymuszanie nadpisywania i suche przebiegi lub generate scaffold --help
dla informacji specyficznych dla generowania rusztowań.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-19 19:20:00
Po prostu napotykam ten sam problem. Zrobiłem to. Więcej szczegółów znajduje się poniżej:
- Najpierw zmieniam nazwę folderu views/your_model na views / your_model_bak. W celu przywrócenia, jeśli później się nie uda
- Następnie wykonaj polecenie
rails g scaffold YourModel [field[:type][:index]] --skip
- nie zapomnij o opcji -- skip, nie utworzy ona istniejących plików (kontroler i model w tym przypadku i kilka innych plików)
- Upewnij się, że lista [pole [: Typ] [: indeks]] jest aktualna
-- na koniec powinieneś zaktualizować swoje zezwolenie w your_model kontroler.
Mam nadzieję, że ci pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-24 04:06:36
"inne narzędzie"...
A może być w stanie zrobić " script/generate view_for model_name
"? :)
Jest do tego klejnot- View Mapper . Posiada wersję Ruby on Rails 2 i 3.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-18 08:09:26
Jedną małą wskazówką jest dodanie "--no-test-framework
", jeśli używasz Rspec i nie chcesz, aby pliki testowe były generowane dla każdego widoku w spec / views
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-28 17:11:50
Aby wygenerować widoki po utworzeniu kontrolera i modeli, możesz użyć wiersza poleceń. Przełączysz się do folderu, w którym chcesz utworzyć nowy widok. Na przykład:
$ cd name_app/app/views/controller_name
$ touch name_file
Aby wrócić do jednego katalogu użyj:
$ cd ..
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-18 08:10:59