2017-06-01 6 views
0

キャッシュされたページを事前作成するオブジェクトがあります。には、サービスオブジェクトから呼び出されたビューのビューヘルパーが含まれています

str = ActionView::Base.new(Rails.configuration.paths['app/views']) 
          .render(partial: 'item_generator/item_with_modal', 
            locals: { item: @item, format: 'div', 
              create_external: @create_external, 
              view_file: @view_file }) 

ヘルパーを呼び出せるようにApplicationHelperが組み込まれるようにするにはどうすればよいですか?

私は現在のようなものがあります。

<%=raw ApplicationController.helpers.js_clean(item.detail) %> 

をではなく、ただ持っているでしょう:

<%=raw js_clean(item.detail) %> 

答えて

0

使用extendActionView::Baseインスタンス内のヘルパー含める:うーん

str = ActionView::Base.new(Rails.configuration.paths['app/views']).tap do |v| 
    v.extend(ApplicationController.helpers) 
end.render(
    partial: 'item_generator/item_with_modal', 
    locals: { 
    item: @item, 
    format: 'div', 
    create_external: @create_external, 
    view_file: @view_file 
    } 
)  
+0

を..興味深い...しかし、私はこのエラーが表示されます:2017-06-02T22:41:44.599Z 39572 TID-ox68oqs pg WARN:TypeError:引数タイプが間違っているActionView :: Base(予想されるモジュール) – timpone

関連する問題