Czy można tworzyć kontrolery, modele i widoki z istniejącej bazy danych?Ruby on Rails: tworzenie widoku modeli i kontrolera z istniejącej bazy danych
Nie mogłem znaleźć polecenia dotyczącego googlowania.
Tutaj mówię o inżynierii odwrotnej
Czy można tworzyć kontrolery, modele i widoki z istniejącej bazy danych?Ruby on Rails: tworzenie widoku modeli i kontrolera z istniejącej bazy danych
Nie mogłem znaleźć polecenia dotyczącego googlowania.
Tutaj mówię o inżynierii odwrotnej
Musisz stworzyć prosty model dla każdej tabeli z relacje, a następnie można
[rails3] > rails generate scaffold_controller Club name:string exclusive:boolean
create app/controllers/clubs_controller.rb
invoke erb
create app/views/clubs
create app/views/clubs/index.html.erb
create app/views/clubs/edit.html.erb
create app/views/clubs/show.html.erb
create app/views/clubs/new.html.erb
create app/views/clubs/_form.html.erb
create app/views/layouts/clubs.html.erb
invoke test_unit
create test/functional/clubs_controller_test.rb
Alternatywnie można spróbować active_admin gem
ActiveAdmin - https://github.com/gregbell/active_admin
rails generate active_admin:resource [MyModelName]
RailsAdmin jest również wystarczająco https://github.com/sferik/rails_admin
należy podać co najmniej 2 zasady modelu jeśli nie używa dobry konwencje szyn. Przykład
class Article < ActiveRecord::Base
self.table_name "tbl_articles"
self.primary_key "art_id"
end
czy active_admin generuje kontroler, modele i widok tej konkretnej tabeli [resource] przy użyciu domyślnych metod? – neeraj
Tak, z wyjątkiem modeli, należy samodzielnie zdefiniować modele z odpowiednimi powiązaniami, logiką, regułami sprawdzania poprawności itp. – Fivell
Widoczna tabela bazy danych nie wystarcza do automatycznego utworzenia modelu. – Fivell
To jest sprzeczne z zasadami. Im lepiej zrobisz, jeśli chcesz szybko uruchomić program, powiel modele posiadane w bazie danych i użyj rusztowania. Pamiętaj, że Rails używa wielu konwencji, a jeśli zdecydujesz się nie podążać, będziesz miał wiele problemów.
Sprawdź tę guide, jeśli potrzebujesz pomocy.
Moje obawy dotyczyły tylko tego, czy jest to możliwe, w przeciwnym razie generowanie modeli, kontrolerów i widoków za pomocą rusztowania jest w porządku. Nieważne :) – neeraj
ten sposób można to zrobić -
Spróbuj:
rails g scaffold myscaffold
To będzie generować pliki:
invoke active_record
create db/migrate/20130124100759_create_myscaffolds.rb
create app/models/myscaffold.rb
invoke test_unit
create test/unit/myscaffold_test.rb
create test/fixtures/myscaffolds.yml
route resources :myscaffolds
invoke scaffold_controller
create app/controllers/myscaffolds_controller.rb
invoke erb
create app/views/myscaffolds
create app/views/myscaffolds/index.html.erb
create app/views/myscaffolds/edit.html.erb
create app/views/myscaffolds/show.html.erb
create app/views/myscaffolds/new.html.erb
create app/views/myscaffolds/_form.html.erb
invoke test_unit
create test/functional/myscaffolds_controller_test.rb
invoke helper
create app/helpers/myscaffolds_helper.rb
invoke test_unit
create test/unit/helpers/myscaffolds_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/myscaffolds.js.coffee
invoke scss
create app/assets/stylesheets/myscaffolds.css.scss
invoke scss
identical app/assets/stylesheets/scaffolds.css.scss
Nie sądzę, że powyższe polecenie odczyta moją bazę danych i sterowniki skrzynek, modele i widoki tego samego za pomocą rusztowania ... czy byłoby to? – neeraj
dlaczego nie? Istnieje plik 'config/database.yml' i podajesz tam opcje bazy danych (bieżące). –
Na przykład mam 10 tabel w mojej bazie danych i wykonuję powyższe polecenie, to czy jesteś pewien, że struktura MVC zostanie utworzona dla wszystkich 10 tabel? – neeraj
prostu ciekawi, czy używasz 'Ruby on rails' to dlaczego chcesz utworzyć z bazy danych i dlaczego nie z' Szyny dowodzić line'? –
Chciałbym znać polecenie, aby to zrobić z linii poleceń rails. Czy możesz to zapewnić? – neeraj