1

ajaxify_rails Gem を使用する Rail 4 アプリケーションがあります。そのため、コンテンツのみが読み込まれますが、ページ全体は読み込まれません。これで、最初のステートメントとしてすべてのビューで呼び出すヘルパー メソッドを定義しました。私の現在のアプローチは、すべてのビューでこれを明示的に行っていますが、これは非常に重複したコードです。だから私はすべてから始まる多くのビューを持っています

= rails_helper_method
...

すべてのビューで暗黙のうちにこれを行う方法はありますか、それとも何度も何度も呼び出す必要がありますか?

4

1 に答える 1

2

これlayoutsが目的です。レイアウトでヘルパー メソッドを呼び出すだけです。ビューはそのレイアウトを使用するため、ヘルパー メソッドも呼び出されます。レイアウト ファイルでは、次のことができます。

%body
  = rails_helper_method
  = yield

アップデート:

を見るとajaxify_rails repo、application_controller でその ajaxify_extra_content メソッドを呼び出して、それを ajaxify イベントにバインドできます。次のようなことができます。

def ajaxify_extra_content
  ... your extra html ...
end

次に、次のようにバインドします。

$(document).on 'ajaxify:content_inserted', ->
  $('#id_of_some_container_in_view').html $('#ajaxify_content #id_of_some_container_in_view').html()

次のようにヘルパーを直接呼び出すこともできます。

def ajaxify_extra_content
  view_context.your_helper
end

PS私はそれをテストしていませんが、これはあなたのために働くはずです

于 2014-09-06T19:00:45.853 に答える