2010-11-23 25 views
5

Khi tôi làm một cách bố trí trong khi đi qua nó một khối, ví dụ:Làm cách nào để hiển thị bố cục không phải một phần khi chuyển một khối?

render(:layout => 'layouts/application') {...}

nó đòi hỏi cách bố trí để có một phần (_application.html.erb). Có thể hiển thị bố cục thông thường, không phải một phần mà không có dấu gạch dưới hàng đầu trong tên của nó không?

Cảm ơn!

Trả lời

1

Nếu bạn vượt qua một khối để render, nó được trả lại như một phần như đã thấy trong đoạn mã dưới đây:

if block_given? 
     _render_partial(options.merge(:partial => options[:layout]), &block) 

render phương pháp đầy đủ trong Rails 3 hiện trông như sau:

def render(options = {}, locals = {}, &block) 
    case options 
    when Hash 
    if block_given? 
     _render_partial(options.merge(:partial => options[:layout]), &block) 
    elsif options.key?(:partial) 
     _render_partial(options) 
    else 
     template = _determine_template(options) 
     lookup_context.freeze_formats(template.formats, true) 
     _render_template(template, options[:layout], options) 
    end 
    when :update 
    update_page(&block) 
    else 
    _render_partial(:partial => options, :locals => locals) 
    end 
end 
+3

Nói cách khác, số – mindeavor

+1

Tôi đoán tôi đã quên làm điều quan trọng nhất, đó là trả lời câu hỏi thực tế. :) – clemensp

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