wice_grid(红宝石轨道):ERB到SLIM



我正在使用 wice-grid gem。

他们的示例显示了.erb中的视图,但我想为我的项目使用.slim,但在将示例erb转换为工作slim时遇到问题。

# ERB renders and works perfectly
<%= grid(@tasks_grid) do |g|
g.column do |task|
task.id
end
g.column  do |task|
task.title
end
end -%>
# Converted SLIM does not render properly
- grid(@tasks_grid) do |g|
- g.column do |task|
= task.id
- g.column  do |task|
= task.title

我试过使用这个 erb2slim 转换器,但它输出endslim不允许的。

编辑:解决方案(感谢下面的帮助!

# Generate grid
- grid = grid(@tasks_grid) do |g|
- g.column do |task|
- task.id
- g.column  do |task|
- task.title
# Render content in a safe way
= content_tag(:div, grid)
= grid(@tasks_grid) do |g|
- g.column do |task|
- task.id
- g.column  do |task|
- task.title

=等于 ERB 模板中的<%=。它输出表达式。-评估但不像 ERB 中的<%那样输出。如果您查看 erb 模板,您会发现它只输出grid(@tasks_grid) do的返回值,而不是task.id

另请注意,转换器很少能完成 100% 的工作,也不能替代了解原始语言和目标语言。它们只是提供了一个起点,使这个过程不那么艰巨。

最新更新