私はajaxリクエストを受け取るたびにdivのセットを置き換えたいと思っています(私がやっているウェブサイトは完全なAjaxです...)。たとえば、受信トレイ内のメッセージ数を確認したり、ユーザーの統計情報を表示したりすることができます。レンダリング前に関数を呼び出す
私のコードで何度もこの呼び出しを自分のレンダリング機能に繰り返してもらうことはできません。
before_filterで関数を呼び出そうとしましたが、render:updateを呼び出すので、2回目は機能しません。
私はapplication_controllerに私自身の機能render_pageを作成しようとしました:
def render_page
render :update do |page|
yield(page)
# page.replace_html :div, ...
end
end
しかし、どういうわけかコンテキストが失われているように見える:私は、コントローラの機能にrender_pageを呼び出すとき、私はヘルパー関数にアクセスすることはできません...
ありがとうございます!
答えではありませんが、コントローラのヘルパーにアクセスするには、それらをインクルードする必要があります: 'include RoutesHelper'。編集:これはあなたのコントローラのアクションで呼び出す必要がありますか?私はpage.replace_htmlがあなたの.js.erbファイル内で呼び出されるべきだと考えました... – Robin
技術的には動作しますが、MVC組織にはうまくいきません。繰り返されることなく、各.js.erbファイルの最後に同じコード部分を実行することは可能ですか? – sdrdis