2010-02-27 37 views
5

Đó là trong sự hiểu biết của tôi rằng tôi có thể xác định một cách bố trí cho một bộ điều khiển bằng cách đặtXác định bố trí cho các bộ điều khiển nhất định trong Ruby on Rails

layout 'mylayout' 

trong file điều khiển. Tôi hiểu thêm rằng tôi có thể chỉ định một số hành động nhất định mà bố cục sẽ được gọi cho :only:except như vậy: bố cục 'mylayout',: only => [: index,: new] hoặc bố cục 'mylayout',: except => [: chỉ số,: mới]

Những gì tôi đang tự hỏi là, tôi có thể đưa layout 'mylayout' trong điều khiển ứng dụng của tôi và xác định rằng để được trả lại cho chỉ điều khiển nhất định với một cái gì đó giống như :only_controller:except_controller, hay tôi phải xác định layout 'mylayout' trong mọi bộ điều khiển tôi muốn nó được hiển thị?

Lý do cho điều này là tôi có một vài bộ điều khiển phụ trách phần quản trị của trang web của tôi và tôi muốn có bố cục khác cho chúng.

Trả lời

2

Có bộ điều khiển quản trị kế thừa từ AdminController và tạo bố cục admin.html.erb. Bằng cách đó tất cả các bộ điều khiển cho phần quản trị của bạn sẽ có bố cục này.

+0

Nhưng tôi không cần bộ điều khiển quản trị thực tế - nó không tồn tại. Nếu tôi tạo ra nó - nó sẽ phải có một cơ sở dữ liệu phụ trợ? –

+0

Không có cách nào bộ điều khiển được kết hợp với cơ sở dữ liệu :) nghĩ về nó như là một lớp cơ sở trừu tượng cho bộ điều khiển quản trị của bạn. Nó thậm chí sẽ làm cho mọi thứ rõ ràng hơn, bởi vì khi bạn nhìn thấy một bộ điều khiển kế thừa từ 'AdminController' bạn sẽ biết ngay lập tức rằng nó là một bộ điều khiển từ phần admin. Ngoài ra, nó cũng có thể là bạn sẽ cần một số 'before_filter' phổ biến, và một lớp cơ sở sẽ tạo ra một nơi hoàn hảo cho chúng. –

+0

cảm ơn bạn rất nhiều! –

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