私は、jobs.html.erb などの html テンプレートしかない Rails 2.1.2 サイトを持っているので、安らかなリソースをリクエストすると、次のようになります。
www.mysite.com/jobs/1
ただし、次のように要求すると、ジョブが html でレンダリングされます。
www.mysite.com/jobs/1.xml
エラーが発生します:
テンプレートがありませんビュー パス c:/workspace/mysite/app/views にテンプレート jobs/show.xml.erb がありません
さらに悪いことに、次のようなこともリクエストできます
www.mysite.com/jobs/1.xyz
そして実際、私はエラーが表示されます:
テンプレートがありませんビュー パス c:/workspace/mysite/app/views にテンプレート jobs/show.xyz.erb がありません
厳密に html コンテンツのみを表示するには、Rails に .html.erb ファイル以外はレンダリングしたくないことを伝える最もクリーンで簡単な方法を教えてください。
次のことに注意することが重要です。
- 私のコントローラー アクションには render() メソッドへの条件付き呼び出しが含まれているものもあれば、Rails のデフォルトの動作を使用するものもあります。つまり、render() を呼び出さない場合は、youraction.html.erb という名前のテンプレートがレンダリングされます。
- 私のコードは Responds_to() メソッドを使用していません
かなりの数のアクションを変更する必要があるため、ソリューションが render/responds_to レベルにない場合は素晴らしいでしょう。おそらく、html テンプレートのみがレンダリングされるように Rails を構成する方法はありますか?