2013-01-24 9 views
5

既存のデータベースからコントローラ、モデル、ビューを作成することは可能ですか?Ruby On Rails:既存のデータベースからモデルビューとコントローラを作成する

私はグーグル以上のコマンドを見つけることができませんでした。

ここで私はリバースエンジニアリングについて話しています

+0

興味があるだけ、あなたはrails'に 'ルビーを使用している場合は、なぜあなたは、データベースから作成したいとレールがline'コマンドなぜか'から? –

+0

これをrailsコマンドラインから実行するコマンドを知りたいと思います。あなたはそれを提供できますか? – neeraj

答えて

2

リレーションシップ、次にできること

rails generate active_admin:resource [MyModelName] 

RailsAdminも、それは使用していない場合は、お使いのモデルのために少なくとも2つのルールを指定する必要がありhttps://github.com/sferik/rails_admin

十分です -

別の方法としては、宝石active_admin

ActiveAdminを試すことができますレールコンベンション。 例

class Article < ActiveRecord::Base 
    self.table_name "tbl_articles" 
    self.primary_key "art_id" 
end 
+0

active_adminは、その特定のテーブル[リソース]のコントローラ、モデル、ビューをデフォルトのメソッドで生成しますか? – neeraj

+0

はい、モデルを除いて、必要な関連付け、ロジック、検証ルールなどを使ってモデルを自分で定義する必要があります。 – Fivell

+0

データベーステーブルが自動的にモデルを作成するのに十分ではありません。 – Fivell

0

これは原則に反するものです。あなたがしなければならないことは、あなたのアプリケーションのための迅速なブートストラップが必要な場合は、データベース上にあるモデルを複製し、スキャフォールディングを使用することです。 Railsはたくさんの規約を使用しています。あなたがフォローしないことに決めた場合、多くの問題が生じるでしょう。

ヘルプが必要な場合はguideをご確認ください。

+0

私の懸念は、そうでなければ足場を使ってモデル、コントローラ、ビューを生成することが可能かどうかを知ることでした。心配しないでください:) – neeraj

0

これは、あなたがそれを行うことができる方法である -

試してみてください。

rails g scaffold myscaffold 

これは、ファイルを生成します:あなたが持つすべてのテーブルのための簡単なモデルを作成する必要が

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 
+0

私は上記のコマンドは、私のデータベースを読んで、コントローラ、モデル、スキャフォールドを使って同じものを見ることはできないと思います。 – neeraj

+0

なぜですか?ファイル 'config/database.yml'があり、データベース(現在の)オプションを指定しています。 –

+0

たとえば、データベースに10個のテーブルがあり、上記のコマンドを実行すると、10個のテーブルすべてに対してMVC構造体が作成されますか? – neeraj

関連する問題