2013-01-24 32 views
5

Có thể tạo bộ điều khiển, mô hình và chế độ xem từ cơ sở dữ liệu hiện có không?Ruby On Rails: Tạo kiểu xem và điều khiển từ cơ sở dữ liệu hiện có

Tôi không thể tìm thấy lệnh trên googling.

Ở đây tôi đang nói về Kỹ thuật đảo ngược

+0

Chỉ cần tò mò, nếu bạn đang sử dụng 'ruby on rails' thì tại sao bạn muốn tạo từ cơ sở dữ liệu và tại sao không từ dòng lệnh' rails'? –

+0

Tôi muốn biết lệnh để làm điều này hoặc từ railscommand dòng. Bạn có thể cung cấp điều đó không? – neeraj

Trả lời

2

Bạn phải tạo mô hình đơn giản cho mỗi bảng với quan hệ và sau đó bạn có thể

[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 

Hoặc bạn có thể thử active_admin đá quý

ActiveAdmin - https://github.com/gregbell/active_admin

rails generate active_admin:resource [MyModelName] 

RailsAdmin cũng đủ https://github.com/sferik/rails_admin

Bạn nên xác định ít nhất 2 quy tắc cho mô hình của bạn nếu nó không sử dụng tốt công ước đường ray. Ví dụ

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

hiện active_admin tạo bộ điều khiển, mô hình và chế độ xem của bảng cụ thể [tài nguyên] với các phương thức mặc định? – neeraj

+0

Có, ngoại trừ các mô hình, bạn nên xác định các mô hình của chính mình bằng các liên kết cần thiết, logic, quy tắc xác thực, v.v ... – Fivell

+0

Bạn thấy bảng cơ sở dữ liệu không đủ để tạo mô hình tự động. – Fivell

0

Điều này đi ngược lại nguyên tắc. Bạn càng phải làm tốt hơn, nếu bạn muốn có một bootstrap nhanh cho ứng dụng của bạn, hãy nhân rộng các mô hình mà bạn có trên cơ sở dữ liệu của bạn và sử dụng giàn giáo. Hãy nhớ rằng Rails sử dụng rất nhiều quy ước, và nếu bạn quyết định không theo bạn sẽ gặp nhiều rắc rối.

Kiểm tra điều này guide nếu bạn cần trợ giúp.

+0

Mối quan tâm của tôi chỉ là để biết nếu có thể tạo ra các mô hình, bộ điều khiển và khung nhìn bằng cách sử dụng giàn giáo là tốt. không nhớ :) – neeraj

0

Đây là cách bạn có thể làm điều đó -

Hãy thử:

rails g scaffold myscaffold 

này sẽ tạo ra các tập tin:

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

Tôi không nghĩ rằng lệnh trên sẽ đọc cơ sở dữ liệu của tôi và bộ điều khiển thùng, mô hình và quan điểm của cùng một bằng cách sử dụng giàn giáo ... phải không? – neeraj

+0

tại sao không? Có một tệp 'config/database.yml' và bạn đang đưa ra các tùy chọn cơ sở dữ liệu (hiện tại) của bạn ở đó. –

+0

Ví dụ tôi có 10 bảng trong cơ sở dữ liệu của tôi và tôi thực hiện lệnh trên thì bạn có chắc rằng cấu trúc MVC sẽ được tạo cho tất cả 10 bảng? – neeraj

Các vấn đề liên quan