我正在尝试为网格创建一个帮助程序,我正在使用以下代码:
在应用程序/帮助程序/application_helper.rb 中:
module ApplicationHelper
def grid_helper(names)
names.each_slice(2) do |name1, name2|
haml_tag 'div', class: 'column' do
haml_tag 'div', class: 'thumb' do
haml_concat link_to name1[:url] do
image_tag name1[:thumb], alt: name1[:description], size: '36x36'
end
end
haml_tag 'div', class: 'thumb' do
haml_concat link_to name2[:url] do
image_tag name2[:thumb], alt: name2[:description], size: '36x36'
end
end
end
end
end
end
呼吁哈姆尔:
#mydiv
- games = [{thumb: 'foo', description: 'foobar', url: 'foo'}, {thumb: 'bar', description: 'foobarbaz', url: 'bar'}]
- grid_helper(games)
所以这放在 html 中:
<div class="column">
<div class="thumb">
<a href="/">foo</a>
</div>
<div class="thumb">
<a href="/">bar</a>
</div>
</div>
link_to
无法正常工作,image_tag
真的无法在我的助手身上工作,有人可以帮忙吗?
Obs:我正在使用 Rails4、Ruby2 和 sass/haml
问题出在以下行:
haml_concat link_to name1[:url] do ...
该块由haml_concat
而不是link_to
使用。你可以这样重写它
haml_concat(link_to name1[:url] { image_tag name1[:thumb], alt: name1[:description], size: '36x36' })