【问题标题】:rails page preview haml and htmlrails 页面预览 haml 和 html
【发布时间】:2012-07-17 09:04:40
【问题描述】:

我有一个这样的页面,有一个select_tag用来选择引擎是nilhaml,如果选择nil,body_preview值为$('#mail_body').val(),直接显示html代码。如果选中'haml',则在mail_body中写入haml代码,body_preview值为convert $(#mail_body.val()) to html,转换haml代码只使用静态方法,不使用ruby动态值。

<%= select_tag "engine", "<option></option><option>haml</option>",
                   :onchange => "$('#body_preview').trigger('load');"%>

<%= text_area_tag 'mail_body', nil,
                   :onchange => "$('#body_preview').trigger('load');" %>

<iframe id="body_preview"  
      onload="$('#engine').val() == 'haml' ? "???????" : $('#mail_body').val()">
</iframe>

当引擎为零时

邮件正文

#content
  .left.column
    %h2 Welcome to our site!
    %p 2

body_preview

#content .left.column %h2 Welcome to our site! %p 2

当引擎是haml时 邮件正文

#content
  .left.column
    %h2 Welcome to our site!
    %p 2

我希望 body_preview 是

<div id="content">
  <div class="left column">
    <h2>Welcome to our site!</h2>
    <p>2</p>
  </div>
</div>

【问题讨论】:

    标签: html ruby-on-rails haml


    【解决方案1】:

    您可以使用haml engine 来处理haml。

    template = File.read('templates/really_cool_template.haml')
    haml_engine = Haml::Engine.new(template)
    output = haml_engine.render
    puts output
    

    【讨论】:

    • 我很抱歉,但真的很难理解你在说什么。我试图回答我理解的部分 - 这听起来像是你希望能够直接解析 haml。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多