0

このようなコードを使用している人を見たことがあります

respond_to do |format|
  format.html
  format.js
end

template.htmlとtemplate.jsがある場合、これの目的は何ですか。どちらもrespond_toを指定せずにレンダリングできます

4

3 に答える 3

0

:headフォーマットオプションはブロックを取ることができるため、ファイルや応答のレンダリングなどのカスタムレンダリングを実行できます。ここでいくつかの例を見てください

于 2012-12-31T00:10:03.427 に答える
0

スニペットは特別なことは何もしませんが、フォーマットオプションを使用すると、必要に応じて追加のカスタム動作を提供できます。

たとえば@products、JSONとしてレンダリングする場合は次のようになります。

 respond_to do |format|
  format.html
  format.js { render :json => @products }
end

これは、フォーマットブロックで実行できる多くのことの1つにすぎません。詳細については、Ruby on Railsガイド:レイアウトとレンダリングを参照してください。

于 2012-12-31T00:10:48.177 に答える
0

フォーマットごとに異なる動作を指定しない場合は、を使用する理由はありませんrespond_to。テンプレートがある場合は、レールによって自動的に取得されます。このrespond_to方法は、フォーマットごとに異なる動作が必要な場合に役立ちます。

respond_to do |format|
  format.html { render :edit }
  format.json { render :json => '{}' }
end
于 2012-12-31T00:12:17.040 に答える