2013-08-23 14 views
22

Đây là một câu hỏi nhỏ, nhưng tôi tò mò:Không tạo thư mục xem trên đường ray tạo bộ điều khiển

Có cách nào với cấu hình máy phát thông thường để TẮT tạo thư mục xem và mẫu tác vụ khi bạn chạy một rails generate controller?

Tôi không thể tìm thấy tùy chọn ở bất kỳ đâu và mã here không hiển thị cho tôi bất kỳ con trỏ nào.

Có thể chúng tôi sẽ xây dựng bộ tạo điều khiển/tài nguyên của riêng mình tại một thời điểm nào đó, cho API của chúng tôi, nhưng tôi đã tò mò nếu có cách nào để tắt phiền toái này trong thời gian chờ đợi.

+0

Chỉ cần không thêm bất kỳ hành động nào khi tạo bộ điều khiển. – veritas1

+0

Không đúng - nó vẫn tạo một thư mục trống. Tôi muốn không có gì đi vào Views. –

+0

Tại sao không chỉ tự tạo tệp điều khiển và đồ đạc/tệp thử nghiệm mà bạn sẽ cần? Hoặc chỉ là 'rm -r' thư mục views được tạo ra? Bạn đang gọi 'đường ray tạo ra bộ điều khiển' một loạt các lần hoặc lập trình hoặc một cái gì đó? – cmpolis

Trả lời

34

Đây không phải là một tính năng được ghi chép đầy đủ, nhưng hãy thử thêm tùy chọn --skip-template-engine (bí danh --no-template-engine) vào lệnh.

rails generate controller foo bar --skip-template-engine 

bản demo trên một ứng dụng giả:

rails g controller my_controller index show --no-template-engine 
     create app/controllers/my_controller_controller.rb 
     route get "my_controller/show" 
     route get "my_controller/index" 
     invoke test_unit 
     create test/functional/my_controller_controller_test.rb 
     invoke helper 
     create app/helpers/my_controller_helper.rb 
     invoke test_unit 
     create  test/unit/helpers/my_controller_helper_test.rb 
     invoke assets 
     invoke coffee 
     create  app/assets/javascripts/my_controller.js.coffee 
     invoke scss 
     create  app/assets/stylesheets/my_controller.css.scss 
+0

+1 chỉ cần kiểm tra điều này trong một ứng dụng giả, hoạt động hoàn hảo. – rmagnum2002

+0

Đánh dấu là đã trả lời, mặc dù nó không chính xác những gì tôi đang làm. Tôi đã tìm kiếm một tùy chọn máy phát điện đơn giản để ném vào application.rb. Chúng tôi sẽ chỉ viết các máy phát điện của riêng mình, tôi nghĩ, vì những lý do khác, nhưng ít nhất tôi biết không có điều gì rõ ràng trong các tùy chọn mà tôi đang thiếu. Cảm ơn! –

+4

Cũng sử dụng '--skip-assets' hoặc' --skip-helper' để bỏ qua những điều đó – babonk

4

Chỉ cần nghĩ rằng tôi muốn thử nhấn cờ --skip-template-engine để xem nếu nó hoạt động trong một máy phát điện và nó làm việc một nét duyên dáng! Không có mẫu xem nào được tạo từ lệnh bin/rails g controller trong ứng dụng Rails 4.2.

Hãy thử:

config.generators do |g| 
    g.template_engine false 
end 

Một chút cuối tôi biết nhưng những điều này quanh quẩn trong Google! ;)

20

Để bỏ qua các chế độ xem được tạo bằng bộ điều khiển của bạn, hãy tắt công cụ tạo mẫu.

Khi:

rails g controller ControllerName action1 action2 --skip-template-engine 

Lưu ý rằng mỗi --skip tùy chọn cũng có một tùy chọn --no aliased.

Mặc định:

# config/application.rb 

config.generators do |g| 
    g.template_engine false 
end 

# OR 

config.generators.template_engine = false 

Nếu bạn có một ứng dụng API-only (không kết thúc trước), bạn cũng có thể muốn bỏ tài sản và những người giúp đỡ từ được tạo ra với các bộ điều khiển của bạn.

Khi:

rails g controller api/users --no-helper --no-assets --no-template-engine 

Mặc định:

# config/application.rb 

config.generators do |g| 
    g.assets false 
    g.helper false 
    g.template_engine false 
end 

# OR 

config.generators.assets = false 
config.generators.helper = false  
config.generators.template_engine = false 

tài sản Vô hiệu hóa bỏ qua stylesheets javascripts từ được tạo ra.Nếu bạn chỉ muốn bỏ qua một, sử dụng --no-stylesheets hoặc --no-javascripts, hoặc trong config/application.rb sử dụng:

config.generators.stylesheets = false 
config.generators.javascripts = false 

Nếu cấu hình mặc định của bạn bỏ qua một cái gì đó từ được tạo ra (ví dụ như tài sản và những người giúp đỡ) nhưng bạn cần đến chúng trong một trường hợp , bạn có thể tạo chúng như vậy:

rails g controller foo --helper --assets --skip 

trong đó --skip bỏ qua việc tạo tệp đã tồn tại.

+0

Cảm ơn bạn đã xây dựng. Tốt để biết làm thế nào một số trong những điều này làm việc. –

+0

Tôi sử dụng đường ray 5 và nó cảnh báo 'Giá trị mặc định chuỗi dự kiến ​​cho '--template-engine'; có sai (boolean) 'nhưng thay thế' false' bằng 'nil' hoạt động tốt - tắt âm thầm. – oklas

+0

config.api_only = true thực hiện cùng một công việc? – Kaz

0

Nếu bạn đang tạo API không có giao diện người dùng, bạn có thể tiếp tục và sử dụng rails new --api. Tuy nhiên, tôi không khuyên bạn nên sử dụng tùy chọn này nếu bạn dự định tạo giao diện người dùng (ví dụ: một ứng dụng trang đơn) vì nó biến rất nhiều thứ, bao gồm cả đường dẫn nội dung.