wice_grid(ruby 在 rails 上):ERB 到 SLIM

wice_grid (ruby on rails): ERB to 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 转换器,但它输出 end,而 slim 不允许。

编辑: 解决方法(感谢楼下的帮助!)

# 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 的 return 值,而不是 task.id.

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