2

CMSタイプのアプリケーションを作成しようとしていますが、ユーザーが{{page.image_url | my_img_tag}}。

ヘルパーモジュールは次のとおりです。

module LiquidFilters

  include ActionView::Helpers::TagHelper 
  include ActionView::Helpers::AssetTagHelper

  def my_img_tag(image_name)
    image_tag (image_name)
  end

end

次に、レンダリング中に登録します。

def liquidize(content, arguments)
 Liquid::Template.parse(content).render(arguments, :filters => [LiquidFilters]).html_safe
end

ただし、返される結果は次のとおりです。

Liquid error: undefined local variable or method `config' for #

ペーパークリップを使用してAWS-S3からの画像を検索しているため、自分でimgタグを作成したくありません。また、問題が発生するのではないかと心配しています。

どんな助けでも大歓迎です-私はruby&railsにかなり慣れていません。

4

1 に答える 1

2

LiquidFilter モジュールに 2 つの Sprockets モジュールを追加すると、コードが機能しました。つまり、必要な 4 つのモジュールは次のとおりです。

include ActionView::Helpers::TagHelper 
include ActionView::Helpers::AssetTagHelper
include Sprockets::Helpers::RailsHelper
include Sprockets::Helpers::IsolatedHelper

この Liquid の使用により、単純な CMS タイプのアプリケーションを使用して、アップロードされた画像を HTML に埋め込むことができるようになりました。これらの画像は、heroku で実行されている Paperclip GEM によって Amazon S3 から取り込まれました。

(元の質問をフォーマットしてくれたPascalに感謝します)。

于 2013-04-03T16:21:39.590 に答える