kak*_*bei 2 haml ruby-on-rails-3.1
我有一些 HAML 代码在 10 个视图中重复出现,并希望将其放入某种帮助程序中。在这里进行搜索产生了一些有趣的结果,但最终没有答案,所以:
在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
Run Code Online (Sandbox Code Playgroud)
在视图模板中,我有这个:
- pagination_helper(@book_formats)
Run Code Online (Sandbox Code Playgroud)
如果我尝试调用它=以输出某些内容,则会出现错误。
以上不会给我一个错误,但它也不会调用这些方法。我得到空的div。
最终我想重复的代码是这样的:
.apple_pagination.page_info
= page_entries_info @book_formats
= paginate @book_formats
Run Code Online (Sandbox Code Playgroud)
代码将是相同的,除了object会发生变化并且我从视图模板发送它。例如@book_formats将更改为@dvds等。
传递给的块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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2544 次 |
| 最近记录: |