Tag: haml

Ruby最佳实践:如果不是空的,每个人都在一个运算符中执行

1.我找不到一种优雅的方式来编写这段代码: if array.empty? # process empty array else array.each do |el| # process el end end 我想有一个循环,没有写两次array 。 我读过这篇文章 ,但没有足够的解决方案。 2.我实际上是在一个HAML模板中。 同样的问题。 – if array.empty? %p No result – else %ul – array.each do |el| %li el

使用slim或haml在独立(非rails)ruby应用程序中指定布局和模板

我试图在独立(不是rails)应用程序中做这样的事情: layout.slim: h1 Hello .content = yield show.slim: = object.name = object.description 我无法弄清楚如何指定布局和模板。 苗条(或haml)可能吗? 谢谢。

调用视图文件时如何传递参数?

我使用Sinatra和Haml编写了一个webform,用于调用Ruby脚本。 一切似乎都很好,除了一件事:我需要将参数传递给Sinatra / Ruby脚本中的Haml视图文件。 这是我的代码的一部分: #!/usr/bin/env ruby require ‘rubygems’ require ‘sinatra’ require ‘haml’ get ‘/’ do haml :index end post ‘/’ do name = params[:name] vlan = params[:vlan] tmp = nil tmp = %x[./wco-hosts.rb -a -n #{name} -v #{vlan}] if tmp.include?(“Error”) haml :fail else haml :success end end 如果脚本遇到一个arror,它将返回一个包含单词“Error”的字符串。 如果发生这种情况,我正在调用一个Haml文件,该文件将向用户显示错误页面。 如果脚本没有遇到错误,它将返回一个成功页面。 我想在成功/失败页面中包含用户添加的新VM的名称。 我的问题是我不知道如何在我的两个Haml文件中传递它。 我搜索了一个解决方案,但没有找到任何东西。

倾斜(kramdown)在渲染降价时阻止ERB处理

我正在与Middleman建立一个网站。 我在数据文件中存储了大量信息,因为我将在多个页面上使用相同的信息。 (部分不适合我,因为数据中的相同文本可以与不同的HTML标记一起使用,或者针对不同的页面稍作修改。) 我想在数据文件中写下markdown,然后在特定页面的HAML模板中使用它。 当我尝试使用对其他数据文件的引用创建到其他页面的相对链接时,生成的HTML不应该是它应该是什么。 data/pages.yaml : pageA: link: /it-can-change-A.html name: PageA name info: Some other related info pageB: link: /subject-to-change-B.html name: PageB name info: Some other related info pageC: link: /some-C.html name: PageC name info: Some other related info data/faq.yaml : testcase: Some text with [internal link to page A](ref.pageA). And *another* [internal reference](ref.pageB). […]

如何在sinatra视图中渲染部分(haml中的haml)?

我有一个简单的sinatra应用程序,使用haml和sass的视图。 其中一个视图(位于视图文件夹中)是导航菜单的一部分。 我试图从index.haml渲染它,但我得到以下错误:错误的参数数量(1为2) 我试图用index.haml中的以下行渲染它 .navigation = render :partial => “nav”

联系表格,ruby,sinatra和haml

我是这三个人的新手,我正在尝试为网站写一个简单的联系表格。 我提出的代码如下,但我知道它存在一些基本问题(由于我对sinatra缺乏经验)。 得到这个工作的任何帮助将不胜感激,我似乎无法弄清楚/找到这类事情的文档。 来自联系页面的haml代码: %form{:name => “email”, :id => “email”, :action => “/contact”, :method => “post”, :enctype => “text/plain”} %fieldset %ol %li %label{:for => “message[name]”} Name: %input{:type => “text”, :name => “message[name]”, :class => “text”} %li %label{:for => “message[mail]”} Mail: %input{:type => “text”, :name => “message[mail]”, :class => “text”} %li %label{:for => “message[body]”} Message: %textarea{:name […]

有条件地从ruby控制器设置CSS样式

我正在尝试动态更改(如果它被点击)一个正常的表头(这是一个链接)到另一个定义的CSS类’th.hilite’。 此链接只是对此列进行排序,每次用户对列表进行排序时,标题都应突出显示。 应该更改有问题的类的视图如下所示: %table#mytable %thead %tr %th= link_to ‘Title’, mytable_path(:sort => ‘title’), :id => ‘title_header’ 我的问题很简单: 如果单击标题,我将如何以及在何处将类动态设置为%th.hilite?

用三元运算符表示条件HAML

试图用一种更简洁的方式在HAML和Ruby中表达这个条件,也许用三元运算符: – if @page.nil? %br (nothing yet) – else %br #{@page.name} (根据Neat方式寻找类似的方法来有条件地测试是否在HAML模板中添加类 ) 你的帮助将不胜感激:)

Cocoon添加关联,如何限制关联数量

我正在创建一个使用Ruby / Rails / HAML存储卡的系统 – 在这种情况下,有一个Card类有很多颜色(这也是一个类)。 在创建和编辑卡片时,我正在使用Cocoon gem来动态添加颜色关联。 我遇到的问题是,在卡片模型中,卡片最多只能有5种颜色。 然而,界面允许添加无限的颜色,从而导致错误。 在Cocoon中是否有办法限制可以添加到表单的关联数量,以便不超过此限制? 这是添加/编辑卡片的表单代码 = simple_form_for @card, multipart: true do |c| = c.input :name, label: “Name of the card” = c.input :cost, label: “Cost of the card” #colours = c.simple_fields_for :colours do |colour| = render “colour_fields”, f: colour .links = link_to_add_association ‘add colour’, c, :colours 这是colour_fieldsforms […]

小胡子和哈姆尔

我有这个haml / mustache模板: {{#data}} ok {{#items}} {{#item}} %b ID: {{id}} {{/item}} {{/items}} {{/data}} 而且我有Illegal nesting: nesting within plain text is illegal错误。 我在Sinatra渲染它 Mustache.render(haml(:index), hash)