Render Ganda dengan tata letak dan sebagian

Oke, jadi saya memiliki metode pertunjukan yang mencoba merender tata letak dan tampilan pertunjukan merender beberapa bagian tetapi saya mendapatkan kesalahan render ganda di rel. Bagaimana cara saya merender tata letak dan sebagiannya? Perhatikan bahwa ini ditampilkan dengan baik dengan tata letak default.

Inilah tindakan pengontrol saya

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

Dan pandangan saya terlihat seperti ini:

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

person Msencenb    schedule 24.06.2011    source sumber


Jawaban (2)


Oke, sudah kutemukan jawabannya. Maaf untuk postingannya tetapi saya akan menjawabnya jika ada orang lain yang mengalami masalah. Pada dasarnya di bagian atas file pengontrol saya, saya hanya memerlukan baris ini:

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

Tidak yakin mengapa Anda memanggil render dalam tindakan Anda tepat di tempat Anda memanggilnya. Singkatnya: Anda tidak perlu melakukannya di sana. Jika Anda melakukannya, Rails akan mencoba merender lagi ketika metode mengembalikan kontrol, jadi Anda harus kembali dari metode setelah memanggil render atau tidak memanggilnya dalam metode tersebut.

person mkro    schedule 24.06.2011