2011-06-30 9 views
1

私はRails 3.0でシンプルなWebサイト生成アプリケーションを構築しています。私はコントローラに "公開"アクションをしたいのですが、普通の "ショー"アクションのように動作しますが、ページをブラウザに表示するのではなく、 "パブリック"ディレクトリにHTMLファイルとして保存します。つまり、Railsのレンダリングメカニズムを使用して、HTTPレスポンスを提供する代わりにファイルを作成したいと考えています。Rails 3.0を使用してページを保存済みのHTMLファイルとしてレンダリングしますか?

これを行うにはどうすればよいですか?

caches_page :publishをコントローラーに追加するだけでいいですか?

render_to_stringFile.newを使用しますか? http://apidock.com/rails/AbstractController/Rendering/render_to_string

あなたはまだかかわらず、コントローラから応答する必要があります。

答えて

1

caches_pageを使用したページキャッシュは、ページをキャッシュした後に通知を表示したり別のページにリダイレクトする方法がないため、私にとっては機能しません。メソッドrender_to_string(@Groceryで提案されている)は、方法です。

3

あなたはrender_to_stringメソッドを使用することができます。あなたが保存したばかりのページにリダイレクトされる可能性がありますか?

1

私はページキャッシュを使用します。

編集可能なコンテンツがある場合は、ページが自動的に生成されます。次に、それらをWebサイトとしてまとめたシステムタスクを書くことができます。

手順については/actionpack/lib/action_controller/caching/pages.rbを参照してください。

+0

このアプローチは魅力的ですが、ページをキャッシュした後に別のページに通知またはリダイレクトする方法がないため、私にとっては効果がありません。 caches_pageのドキュメントはhttp://guides.rubyonrails.org/caching_with_rails.htmlにあります。開発中に 'config.action_controller.perform_caching = true'が' config/environment/development.rb'ファイルに必要であることに注意してください。そうしないと、キャッシングが表示されません。 –

関連する問題