2012-03-05 25 views
21

Tôi có tệp application.html.erb đặt bố cục cho mọi trang trong ứng dụng của tôi (đầu trang, chân trang, v.v.) giống như một ứng dụng Rails điển hình.bỏ qua application.html.erb trong ứng dụng Rails

Tuy nhiên, tôi muốn có trang đích mà tôi không muốn sử dụng tệp này. Tôi nên bỏ qua application.html.erb như thế nào?

Cảm ơn bạn.

Trả lời

39

Sử dụng

render :layout => false 

hoặc

render :layout => 'whatever' 

trong hành động của bạn. Nếu bạn đang sử dụng một riêng biệt LandingController bạn chỉ có thể tạo ra một app/views/layouts/landing.html.erb đó sẽ được chọn hoặc bạn có thể ghi đè lên bố trí qua

class LandingController < ApplicationController 
    layout 'whatever' 
    ... 
end 
+1

hoạt động tuyệt vời -> đường ray 4 –

5

Bạn có thể đặt bố trí chức năng làm cho bạn:

render {other arguments}, :layout => :homepage 

Bạn cũng có thể thiết lập tùy chọn đó để false không sử dụng bất kỳ bố trí ở tất cả.

Bạn có thể làm điều gì đó tương tự nếu bạn muốn toàn bộ một bộ điều khiển để sử dụng một cách bố trí tùy chỉnh:

class MyController < ApplicationController 

    layout :homepage 

    #... 
end 

Hy vọng rằng sẽ giúp!

3

Trong bộ điều khiển đó ám chỉ rằng xem, thay đổi hiển thị thành:

render :layout => false 

Bạn có thể đọc thêm về các tùy chọn hiển thị và cách làm việc với bố cục tại Rails guide to render and layouts.

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