0

たとえば、show.html.erb同じモデルに対して の 2 つのバージョンがあるとします。

最初のものはデフォルトで、私は として呼び出しますshow.html.erb

2 番目のもの、たとえば - show1.html.erb

そのため、最初のものをブラウザに表示し、2 つ目を印刷用に使用したいと考えています。

コントローラーでこれのためのメソッドを作成する必要がありますか?

一般に、足場によって作成されるビュー以外のビューを作成することは可能ですか?

4

2 に答える 2

2

Respond_to メソッドを使用して、さまざまな形式の出力を使用できます

html とテキストのバージョンが必要になるとしましょう

def action
  # do some logic
  respond_to do |format|
    format.html
    format.text
  end
end

この場合、ルート ".../action" show.html.erb がレンダリングされます。「.../action.txt」の場合、show.text.erb がレンダリングされます。次のようにブロックで渡すことにより、テンプレート名をカスタマイズできますformat.text { render 'show1' }

もっと見る: http://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respond_to

于 2013-07-24T04:42:27.323 に答える