2

10ビューのようなもので繰り返されるHAMLコードが少しあり、それをある種のヘルパーに入れたいと思います。ここで検索を行うと、いくつかの興味深い結果が得られましたが、最終的には答えが得られませんでした。

私はこれapplication_helper.rbを持っています:

def pagination_helper(object)
  haml_tag :div, :class => 'apple_pagination page_info' do
    page_entries_info @book_formats
    paginate @book_formats
  end
end

ビューテンプレートには、次のものがあります。

- pagination_helper(@book_formats)

で呼び出して=何かを出力しようとすると、エラーが発生します。

上記ではエラーは発生しませんが、メソッドも呼び出されません。空のdivを取得します。

最終的に私が繰り返したいコードはこれです:

.apple_pagination.page_info
  = page_entries_info @book_formats
  = paginate @book_formats

コードは変更されることを除いて同じでありobject、ビューテンプレートから送信します。たとえば、など@book_formatsに変更されます。@dvds

4

1 に答える 1

5

渡されたブロックはhaml_tag、出力に自動的に追加されません。あなたは使用する必要がありますhaml_concat

def pagination_helper(object)
    haml_tag :div, :class => 'apple_pagination page_info' do
        haml_concat(page_entries_info @book_formats)
        haml_concat(paginate @book_formats)
    end
end
于 2012-08-29T18:21:56.177 に答える