我在HAML中编写了一个简单的自定义过滤器,但我找不到我的Rails应用程序.
过滤器如下所示:
# lib/haml/filters/gfmarkdown.rb
module Haml::Filters::Gfmarkdown
include Haml::Filters::Base
# copied from Haml::Filters::Markdown
lazy_require 'rdiscount', 'peg_markdown', 'maruku', 'bluecloth'
def render(text)
# copied from Haml::Filters::Markdown
engine = case @required
when 'rdiscount'
::RDiscount
when 'peg_markdown'
::PEGMarkdown
when 'maruku'
::Maruku
when 'bluecloth'
::BlueCloth
end
engine.new(gfm text).to_html # gfm method defined elsewhere
end
end
Run Code Online (Sandbox Code Playgroud)
在我看来,我尝试使用这样的过滤器:
:gfmarkdown
#{comment.body}
Run Code Online (Sandbox Code Playgroud)
但我收到此错误消息: Filter "gfmarkdown" is not defined.
任何想法如何让我的Rails应用程序拿起我的过滤器?
版本:Rails 2.3.4,Haml 2.2.15.
什么是可以轻松集成到现有应用程序的优秀的开源RoR 3论坛?
可选功能:
谢谢 :)
我认为我有以下几点:
- if (condition)
%div.truecondition
(Ten lines of content)
- else
%div.falsecondition
(Ten lines of the same content)
Run Code Online (Sandbox Code Playgroud)
我想将10行内容分解为if/else语句以下...但如果我这样做,缩进意味着内容不会嵌套在if/else中指定的div内.我确定这是一个常见的问题,我只是想知道解决方案是什么.那么......如何在保持内容嵌套在.truecondition/.falsecondition div中的同时分解出十行呢?
我正在创建一个使用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
Run Code Online (Sandbox Code Playgroud)
这是colour_fields形式
.nested-fields
= f.input :value, as: :select, collection: Colour::VALUES, selected: f.object.value, include_blank: false
= link_to_remove_association "remove colour", f
Run Code Online (Sandbox Code Playgroud)
提前致谢.
再次,我有一个nanoc文件的问题.这次我想将自定义文件附加slide.js到我的博客但我不能(不知道为什么 - 可能是我的路线出了问题).这是我的路线:
compile '/js/*/' do
# don’t filter or layout
end
...
route '/js/*/' do
/'js'/ + item.identifier.chop + '.js'
end
Run Code Online (Sandbox Code Playgroud)
在head我的布局部分,我已经说过:( %script{:type => "text/javascript", :src => "/js/slide.js"}/是的,这是一个HAML).
任何人都可以帮我解决这个问题吗?非常感谢.
在haml中,我想要显示5 / 174.分子,foward斜线,分母.
= @numerator
/
= denominator
Run Code Online (Sandbox Code Playgroud)
我的解决方法:
= @numerator
- slash = "/"
= slash
= denominator
Run Code Online (Sandbox Code Playgroud) 有没有办法向HAML过滤器添加选项(HTML属性)?
我想做这样的事情:
:javascript{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
if(someCondition){
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
结果将是:
<script 'data-turbolinks-eval'='false' 'foo'='bar'>
if(someCondition){
doSomething();
}
</script>
Run Code Online (Sandbox Code Playgroud)
我能得到的最接近的是:
%script{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
if(someCondition){
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
缺点是你不能在HAML中缩进你的JS,除非你使用:javascript过滤器.它可以用几行,但它很快就会变得混乱.
我很清楚,在大多数情况下,如果你最终在HAML模板中使用复杂的脚本,这意味着你做错了什么,而这不是我正在寻找的答案.
我有以下Rails Haml代码:
%a.dropdown-toggle{ data: { toggle: "#{'dropdown'}"}, href: "#"}
%span
%i.glyphicon.glyphicon-filter
Filter
%i.icon-caret-down
%ul.dropdown-menu
%li.dropdown
%a{:href => "#"}
%input{:type => "checkbox", "ng-model" => "search", "ng-true-value" => "a", "ng-false-value" => ""}/
%span.lbl a
%li.dropdown
%a{:href => "#"}
%input{:type => "checkbox", "ng-model" => "search", "ng-true-value" => "b", "ng-false-value" => ""}/
%span.lbl b
%li.divider
%li.dropdown
%a{:href => "#"}
%input{:type => "checkbox", "ng-model" => "search", "ng-true-value" => "c", "ng-false-value" => ""}/
%span.lbl c
%li.dropdown
%a{:href => "#"}
%input{:type => "checkbox", "ng-model" => "search", "ng-true-value" …Run Code Online (Sandbox Code Playgroud) 我是HAML的新手,我有一个错误:Illegal nesting: nesting within plain text is illegal..目前,我正在尝试将我的erb更改为haml,但它无法正常工作.这是我的问题.
<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
<h2 class="mbs">New Subscription
</h2>
<%= simple_form_for :subscription, :url => subscribe_subscription_path(@plan.id), :id => "checkout-form" do |f| %>
<% if current_user and !current_user.has_payment_info? %>
<%= render 'customer_form'%>
<% end %>
<br/>
<p> Please enter payment details: </p>
<div id="payment-form"></div>
<div id="coinbase-container-id"></div>
<div class="form-actions">
<%= f.submit t(:subscribe), :class => 'btn btn-primary' %>
</div>
<script charset="utf-8" type="text/javascript">
var clientToken = "<%= @client_token %>";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
coinbase: { container: "coinbase-container-id" …Run Code Online (Sandbox Code Playgroud) 我有这个haml:
.kudobox
%div.kudos= number_to_human_size_not_bytes kudos
%div= (kudos == 1 || kudos == -1) ? "kudo" : "kudos"
Run Code Online (Sandbox Code Playgroud)
现在,我想.kudobox有一个positive,negative或zero类,根据荣誉的数量:
-# < 0 kudos
<div class="kudobox negative">
-# == 0 kudos
<div class="kudobox zero">
-# > 0 kudos
<div class="kudobox positive">
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?谢谢.
我知道我可以
%div{ :class => ( kudos < 0 ? "kudobox negative" : ( kudos == 0 ? "kudobox zero" : ( kudos > 0 ? "kudobox positive" : "kudobox impossible" ) ) …Run Code Online (Sandbox Code Playgroud) haml ×10
ruby ×3
javascript ×2
cocoon-gem ×1
filter ×1
forum ×1
html ×1
indentation ×1
nanoc ×1
openid ×1
simple-form ×1
url-routing ×1
view ×1