web-dev-qa-db-ja.com

ruby on Railsレイアウトやその他のヘッドフィールドなしでページをレンダリングする方法

else
  respond_to do |format|
    format.html { render "tabelle/show" }
  end
end    

私はページをレンダリングしたい...そのページのコードのみで.... <head>... layoutと<body>フィールドをRuby onに追加しないRails。コードの結果をページtabelle/show.html.hamlに表示したいだけです

27
mewosic

あなたはこのようにそれを行うことができます:

format.html { render "tabelle/show", :layout => false  } 
34
fmendez

追加

:layout => false

例:

render "tabelle/show", :layout => false
8
HungryCoder

コントローラ:

layout false, only: [:method_name]

これは、render_to_stringを使用する場合に非常に便利です。

6
Fabricioblz

使用するビューを指定したくない場合。

Railsは、使用しているコントローラーアクションに基づいて使用するビューテンプレートを認識するのに十分なほどスマートです。

たとえば、showTabellesControllerアクションを使用している場合、Railsであるため、コントローラーアクションでrender "tabelle/show"を指定する必要はありません。 =はすでにそれを想定しており、app/views/tabelles/show.html.erbでファイルを自動的にレンダリングしようとします。

したがって、これらのすべてのデフォルトを使用している場合は、以下を使用してwithoutをレンダリングすることができます:典型的なレイアウトテンプレート:

def show
  # Other stuff in your Controller Action.

  render layout: false
end

これはapp/views/tabelles/show.html.erbをレンダリングしますが、レイアウトテンプレートは自動的にありません。

いや.

1
Joshua Pinter