2

AJAXによって呼び出されるメソッドがあります:

def showplain
    .............
    respond_to do |format|
      format.html { render :layout => false, :partial => "content"}
    end
end

これは Webrick では機能しますが、Apache2 + Phusion Passenger ではエラーが発生します。

エラーは次のとおりです。

ActionView::MissingTemplate (テンプレート myitems/showplain がありません)

showplain.html.erb を作成すると:

<%= render :layout => false, :partial => "content" %>

AJAX フレームにフル ページ、WITH レイアウトが表示されます。

:layout => false パラメータを無視しているようです。レイアウトなしで部分的に表示するにはどうすればよいですか?

match 'myitems/showplain' => 'myitems#showplain', :via => :get
4

2 に答える 2

1

レンダリングする前に例外が発生しました。

私が書いた

begin
  .........
rescue => ex
  .........
end
render :layout => false, :partial => "content"

showplain.html.erbを削除し、すべてが機能するようになりました。

于 2012-04-19T06:22:04.213 に答える
0

あなたは AJAX について話します。ajax リクエストに応答するには、js 形式を使用してアプリに応答する必要があります。

def showplain
    .............
    respond_to do |format|
      format.html { render :layout => false, :partial => "content"}
      format.js { render :layout => false, :partial => "content"}
    end
end

そして、js 形式でルートを呼び出します。

役立つことを願っています

于 2012-04-18T14:50:50.380 に答える