ruby-on-rails - 如何在 Haml 中乘以 Ruby 代码行?

标签 ruby-on-rails ruby haml

我想从 Haml 代码中的 Ruby block 返回 HTML 字符串值:

!= my_helper_method 'some_div_id' do
     #{
          <<-HTML
                %div
                  %b
                    some data:
                  %span#some_id123
                %div
                  %b
                    some data2:
                  %span#some_id123224
            HTML
        }

请注意,#{ ... } 之间的字符串可能会很长。此代码抛出“非法嵌套:在纯文本中嵌套是非法的”。异常。

我尝试了不同的方法,但没有成功。

你的意见?

最佳答案

如果我明白你想在这里做什么,你需要使用 capture_haml helper method .

类似这样的事情:

!= my_helper_method 'some_div_id' do
  - capture_haml do
    %div
      %b
        some data:
      %span#some_id123
    %div
      %b
        some data2:
      %span#some_id123224

capture_haml 评估 Haml,但不会像平常一样将生成的 HTML 写入输出缓冲区,而是将其作为字符串返回。

关于ruby-on-rails - 如何在 Haml 中乘以 Ruby 代码行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000536/

相关文章:

html - 用于 haml 语言的 Rails 表单文本编辑器

ruby-on-rails - 在 Haml 中与本地人一起渲染部分内容?

css - 在两个按钮之间添加空间

ruby - 在 VIM 中执行代码类似于 Textmate 中的 Cmd+R 或 Cmd+B Sublime Text2

ruby-on-rails - rails + PostgreSQL : grouping together with a sum

ruby-on-rails - Rails 3 - XML 生成器

ruby-on-rails - rails : Integration testing thinking_sphinx with cucumber and webrat - how do I index transactional fixtures?

javascript - 传单数据格式

ruby-on-rails - 在通过 Brightbox 的 PPA 安装的 Ruby 2.1.x 上安装 Mongrel 1.2.0_pre2 时出错

ruby-on-rails - 如何使用 Rails 保护数据库中的用户数据?