Double Render พร้อมเค้าโครงและบางส่วน

ตกลง ฉันมีวิธีการแสดงที่พยายามแสดงเค้าโครงและมุมมองการแสดงแสดงบางส่วนบางส่วน แต่ฉันได้รับข้อผิดพลาดในการเรนเดอร์สองครั้งในราง ฉันจะทำให้มันเรนเดอร์เค้าโครงและบางส่วนได้อย่างไร โปรดทราบว่ามันแสดงผลได้ดีกับเค้าโครงเริ่มต้น

นี่คือการดำเนินการควบคุมของฉัน

def show
  @site = Site.find_by_subdomain!(request.subdomain)
  @page = @site.pages.find_by_name('index')

  render :layout => "layouts/mobile"
  respond_to do |format|
    format.html # show.html.erb
    format.xml  { render :xml => @site }
  end
end

และมุมมองของฉันก็เป็นแบบนี้:

<%= render(:partial => "page", :object => @page) %>

person Msencenb    schedule 24.06.2011    source แหล่งที่มา


คำตอบ (2)


โอเค เข้าใจแล้ว ขออภัยสำหรับการโพสต์ แต่ฉันจะตอบในกรณีที่คนอื่นมีปัญหา โดยพื้นฐานแล้วที่ด้านบนของไฟล์คอนโทรลเลอร์ของฉันฉันแค่ต้องการบรรทัดนี้:

layout "layouts/mobile", :only => [:show]
person Msencenb    schedule 24.06.2011

ไม่แน่ใจว่าทำไมคุณถึงเรียกการเรนเดอร์ในการกระทำของคุณ ณ ตำแหน่งที่คุณเรียกมัน กล่าวโดยย่อ: คุณไม่จำเป็นต้องทำที่นั่น หากคุณทำเช่นนั้น Rails จะพยายามเรนเดอร์อีกครั้งเมื่อเมธอดส่งคืนการควบคุม ดังนั้นคุณต้องส่งคืนจากเมธอดหลังจากเรียกใช้การเรนเดอร์หรือไม่เรียกมันในเมธอด

person mkro    schedule 24.06.2011