haml 相关问题

HAML是一种标记语言,用于在不使用内联代码的情况下干净简单地描述任何Web文档的HTML。它可以用作独立的HTML生成工具,也可以用作Web框架(如Ruby on Rails或Ramaze)中的模板呈现引擎。 HAML模板被预编译为纯HTML模板,客户端的Web浏览器使用该模板将服务器发送的信息呈现为HTML网页。

在 Ruby/Rails 中的单个模式上有 2 个表单时,提交按钮会混淆

我一直在搜索,但没有找到这个 Ruby/Rails 问题的答案。 我有一个 dance_admin haml 模式,只要注释掉“渲染部分”行之一,它就可以正常工作......

回答 1 投票 0

Rails 查询输出行#1,然后继续行#3

第1行仅输出1条记录,在第3行继续其余部分 - 如果@local_news.present? %h4.主页标题 .row#local_news - @local_news.each |新闻| .col-sm-12 = 渲染'news_a...

回答 1 投票 0

如何制作一个简单的点“.”在 HAML 中?

在我的 Ruby on Rails 项目中,我使用 HAML,我需要翻译这样的内容 foobar. 进入 HAML。它应该看起来像: .divclass 富 %a 栏 。 ... 在我的 Ruby on Rails 项目中,我使用 HAML,我需要翻译这样的内容 <div>foo <a>bar</a>.<div> 进入 HAML。它应该看起来像: .divclass foo %a bar . 开始时的句点不起作用,因为它被 HAML 使用。那么如何使用句点作为内容呢? 即使在其周围建立一个跨度不起作用,这个时期也被视为特殊的东西。 我认为有一个逃生机制,但我找不到它。 用 \ 转义 像这样 \. 请参阅 HAML 参考中的 转义 \。 更新: 如果您需要在句子末尾加一个点(以防止不必要的空格),则使用 HAML 的 succeed(如这个答案)是更好的解决方案。 最近的报告称这可能不适用于较新版本的 HAML,但是...... 更好的方法: %p This sentence ends with a link which is *just* before a period = succeed "." do %a{:href => "#"} link But the period wasn't included with the link and there was no space before the period. 我将使用 Rails 的内置 link_to 帮助器添加另一个选项,而不是手动创建链接。然后你就可以简单地做 %p This sentence ends with a link which is *just* before a period #{ link_to "link", "#" }. 不同的解决方案将在不同的地方起作用,但我发现这非常干净,特别是如果已经使用 link_to 或 mail_to 等。 您还可以访问 :plain 过滤器,如下所示: %p :plain .

回答 4 投票 0

如何创建一个同时渲染和返回的HAML6助手?

我正在尝试为 HAML 设计一个助手,它的工作原理如下: %桌子 - 表格(项目)做 |i| %tr %td = 我[:标题] 我希望它呈现以下 HTML: 我正在尝试为 HAML 设计一个助手,它的工作原理如下: %table - tabular(items) do |i| %tr %td = i[:title] 我希望它能够呈现以下 HTML: <table> <tr><td>first</td></tr> <tr><td>second</td></tr> <tr><td>Total: 2</td></tr> <!-- This is not an item! --> </table> 我正在尝试这种方法,但不起作用: def tabular(items) total = 0 items.each do |i| total += 1 yield i end "<tr><td>Total: #{total}</td></tr>" # this line doesn't print :( end 有一个输出 buffer 实例变量 @_out_buf,您可以追加到它: # views/index.haml - items = [{title: :first}, {title: :second}] %table # you have to indent this - tabular(items) do |i| %tr %td = i[:title] # app.rb require "sinatra" helpers do def concat string @_out_buf << string end def tabular(items) total = 0 items.each do |i| total += 1 yield i end concat "<tr><td>Total: #{total}</td></tr>" end end get "/" do haml :index end 渲染: <table> <tr><td>first</td></tr> <tr><td>second</td></tr> <tr><td>Total: 2</td></tr> </table>

回答 1 投票 0

如何直接打印到HAML缓冲区?

我正在尝试这个(haml 6.3.0): def my_helper Haml::Helpers.html_concat('你好,世界!') 结尾 然后,在 my.haml 中我这样做: - 我的助手 但是,我得到: NoMethodError:未定义方法`html_co...

回答 1 投票 0

在同一 HAML 文件中定义和使用函数

我有一个基于 haml 的轻量级网站,正在使用 Middleman 构建(不是 Rails,但我用 Rails 标记它,因为我认为 Rails 的人可能知道答案)。 是否可以定义一个

回答 1 投票 0

有没有更简单的方法来写下来并防止重复代码?

我正在将中间人(Ruby on Rails)与 HAML 结合使用。 我在每页的开头都有这样的代码: - 如果页面版本==“测试” - 域 = data.testvars.domain - action_url = 数据。

回答 1 投票 0

如何使用 HAML 在段落中间放置链接?

我如何创建这个: 我想在我的 Rails 应用程序中创建一个 link。 与 HAML?

回答 4 投票 0

在 HAML 中创建标签别名

嗨,我正在尝试找到一种使用 HAML 为某些标签创建别名的方法。 例如。 HAML 足够灵活,可以获取以下 HAML 标记: %asp:TextBox#txtName/ 被渲染为 嗨,我正在尝试找到一种使用 HAML 为某些标签创建别名的方法。 例如。 HAML 足够灵活,可以获取此 HAML 标记: %asp:TextBox#txtName/ 渲染为 <asp:TextBox id="txtName" /> 同时,asp.net 中的所有服务器端标记都需要 runat="server" 属性。 第一:我怎样才能让HAML把这个必需的属性写给我? 第二:用HAML用asp.net标签来组织我的直播是不是很愚蠢? 它不仅仅是关于 runat="server" 属性,它更像是编写我的 ASP.NET 标记的清晰且有组织的路径。 我会使用辅助方法。在红宝石中,它会是这样的: def asp_tag attrs_hash={} result = '<asp:TextBox ' result << 'runat="server" ' attrs_hash.each {|k,v| result << "#{k}=\"#{v}\"" } result << '>' result << yield # not necessary if you never have a body in your tag result << '</asp:TextBox>' result.html_safe # in rails anyways..... end 并在您的视图中使用它,如下所示: = asp_tag{id: 'txtName'} .moreStuff teh awesome 应该渲染 <asp:TextBox id="txtName" runat="server"> <div class="moreStuff"> teh awesome </div> </asp:TextBox> 由于您处于微软环境中,其中部分或大部分可能会或可能不会起作用。 ruby 方法可能会被您运行 haml 的任何语言的某些内容所取代。 另一种选择是使用部分。我使被调用的代码更好,但调用更糟糕。我倾向于将丑陋隐藏起来。

回答 1 投票 0

水豚测试上一个屏幕

在 ruby on Rails 应用程序中,我有一个“主屏幕”haml,其中带有一个添加按钮,可将用户带到“addscreen”按钮。我已经使用 Caybara 和 Selenium 创建了一个测试,检查是否...

回答 1 投票 0

Ruby on Rails 如何将 javascript 放入 head 标签中?

我正在使用 ruby 2/rails 4 并尝试将我的 javascript 放入 但所有 javascript 都会在页面末尾, 我正在尝试使用此代码但不起作用: 在应用程序/视图/布局/index.h...

回答 2 投票 0

使用Ruby和Sinatra,是否可以以“内部”或“内联”方式使用HAML?

我已经完成了 gem install sinatra 和 gem install haml 我有这个 .rb 文件 需要“西纳特拉” 得到 '/abc2' 做 “啊啊啊啊啊” 结尾 现在假设我想要 HTML 行,但使用 HAML...

回答 2 投票 0

Rails Turbostream:是否可以动态向元素添加 css 类?

我正在将应用程序从rails 6升级到7,并用turbostreams替换ujs。 目前的ujs $('#sightings_by_type').html("<%= escape_javascript (render partial: '/member/spotting_se...

回答 1 投票 0

如何向 form_for 中的单个输入添加样式

我正在使用带有 HAML 的 Rails 框架,并且我有引导程序设置。我将如何单独格式化字段输入。我希望名称的输入字段为屏幕左侧浮动的 60%,并且输入...

回答 2 投票 0

使用Capybara填充text_field_tag不会触发jQuery on_change

我有一个简单的 html.haml 文件,其中有一个 text_field_tag 和一个 label_tag。 我使用 jQuery 来获取 text_field_tag 值,并使用该值 on_change 设置 label_tag。 当我运行页面时...

回答 1 投票 0

haml 中的 div 标题语法,并在其中合并 ruby 变量

我在将 HTML 语法转换为 HAML 时遇到问题。 我知道 类可以简单地表示为: 。班级名称 但是,我想将以下语法转换为 HAML,并合并一个 我在将 HTML 语法转换为 HAML 时遇到问题。 我知道 <div> 类可以简单地表示为: .class-name 但是,我想将以下语法转换为 HAML,并在标题中合并一个变量: <div title="My title" class="my-text">This is my title</div> 类似: .title{@ruby-variable}.my-text .my-text{:title => "My title"} This is my title 在 haml 中你使用 #someid.someclass{:custom_attr => "something"}。如果需要动态定义,:costum_attr也可以是类或id。 试试这个: .my-text{:title => 'My title'} This is my title 或另一种语法: .my-text(title = 'My title') This is my title 更现代的语法是 .my-text{title: 'My title'} My text.

回答 3 投票 0

选择带有扩展、插槽并包含参数的模板引擎

我正在构建一个中等大小的 html/scss/ts 网站。由于它相当复杂,有很多重复元素(布局、重复块),我开始研究好的 SSG 选项(最终使用了 11ty...

回答 1 投票 0

是什么原因,在ajax时渲染相同的HAML比在浏览器中加载慢得多

简短描述(我们在浏览器调试器网络选项卡中): AJAX GET /page/42 需要约 20 秒 重播/重新发送此 XHR 大约需要 15 秒 在新选项卡中打开此 XHR 大约需要 1.5 秒(仅!) 重播/重新发送此 XHR 镜头...

回答 1 投票 0

Rails – 更改视图语言顺序

我有一个之前使用 ERB 视图编写的 Rails 项目。我正在慢慢地将项目转换为 HAML,方法是在开始时为每个视图创建副本,构建...

回答 1 投票 0

如何更改 Rails 3.0.10 中使用模板引擎的顺序?

鉴于我在同一目录中有视图模板index.html.erb、index.html.haml和index.html.slim。我如何配置 Rails 首先使用 slim 模板(如果存在),然后使用 haml 模板...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.