标签: slim-lang

erb,haml或slim:你建议哪一个?为什么?

我正在学习Rails,我看过这些模板引擎.我对他们没有经验(只有erb).

但由于我是初学者,我真的很困惑.你建议哪一个?为什么?Erb,Haml还是Slim?请告诉你理由偏爱其他人.如果您有任何其他建议,请告诉我们.

编辑:我不是在寻找胜利者.我只是想听听你对他们的看法,他们的语法,执行速度等等.

haml ruby-on-rails erb slim-lang

98
推荐指数
5
解决办法
4万
查看次数

苗条的动态条件类

只是为了帮助其他开发者,因为SO上没有类似的问题.

div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails slim-lang

97
推荐指数
3
解决办法
4万
查看次数

在Slim中处理数据属性的最佳方法

我正在评估Slim作为个人项目中HAML的替代品,它似乎不像HAML那样优雅地处理HTML5数据属性.我希望有人也可能碰到这个,或者可能已经知道我在他们的文档中还没有找到的选项/语法.

HAML允许您通过使用嵌套哈希来定义HTML 5数据属性,如下所示:

%a{data: {key1: 'val', key2: 'val'}}

导致

<a data-key1='val' data-key2='val'></a>

ruby haml ruby-on-rails templating slim-lang

53
推荐指数
1
解决办法
2万
查看次数

如何在Slim模板中访问CoffeeScript引擎中的实例变量

我有一个Rails控制器,我在其中设置一个实例变量 -

@user_name = "Some Username"
Run Code Online (Sandbox Code Playgroud)

在我的.slim模板中,我使用咖啡引擎生成javascript,并希望从客户端sie javascript代码打印出用户名 -

coffee:
  $(document).ready ->
    name = "#{@user_name}"
    alert name
Run Code Online (Sandbox Code Playgroud)

但这是正在生成的JavaScript?

$(document).ready(function() {
    var name;
    name = "" + this.my_name;
    alert(name);
}
Run Code Online (Sandbox Code Playgroud)

如何在CoffeeScript代码中访问控制器实例变量?

我正在将其标记为haml,因为我猜测haml在使用CoffeeScript时会遇到同样的问题.

haml ruby-on-rails coffeescript ruby-on-rails-3 slim-lang

50
推荐指数
2
解决办法
4万
查看次数

Ruby Slim - 如何使用rails helper或variable定义元素的类?

在rails slim(http://slim-lang.com/)中,定义具有类名"sample"的新div的语法如下:

 .sample
      = "Content goes here"
Run Code Online (Sandbox Code Playgroud)

这将创建:

 <div class="sample">
      Content goes here
 </div>
Run Code Online (Sandbox Code Playgroud)

我想根据铁路的助手,变量或其他东西来定义div的类......比如,在rails中:

 <div class="sample #{@variable.name}">
   Content goes here
 </div>
Run Code Online (Sandbox Code Playgroud)

我不知道如何在苗条中做到这一点:

 .sample #what else goes here?
   Content goes here
Run Code Online (Sandbox Code Playgroud)

谁知道怎么样?

html css ruby-on-rails ruby-on-rails-3 slim-lang

34
推荐指数
2
解决办法
2万
查看次数

javascript块内的红宝石[苗条模板]

有一种方法可以在javascript块中放入ruby条件吗?即

javascript:
  var config = {
      common_value_1 : 1, 
      common_value_2 : 2 
  };
  - if my_value === true # this must be a ruby condition
    config.custom_true_value_1 = "1" ;
    config.custom_true_value_2 = "#{my_value}" ;
  - else
    config.custom_false_value_1 = "1" ;
    config.custom_false_value_2 = "#{my_value}" ;
Run Code Online (Sandbox Code Playgroud)

或者这个问题有另一种解决方法吗?因为我可以使用它的丑陋方式:

javascript:
    var config = {
      common_value_1 : 1, 
      common_value_2 : 2 
    };
- if my_value === true # this must be a ruby condition
  javascript:
    config.custom_true_value_1 = "1" ;
    config.custom_true_value_2 = "#{my_value}" ;
- else
  javascript: …
Run Code Online (Sandbox Code Playgroud)

ruby slim-lang

32
推荐指数
3
解决办法
3万
查看次数

如何将动态Ruby代码嵌入Slim模板中的"javascript"部分?

单程:

javascript_tag do
  == "var all_product_ids = #{existing_ids.to_json};"
  == "var products_json   = #{@filter.data.to_json};"
Run Code Online (Sandbox Code Playgroud)

要么:

= %Q{
var all_product_ids = #{existing_ids.to_json};
var products_json   = #{@filter.data.to_json};
}
Run Code Online (Sandbox Code Playgroud)

对此有什么更好的解决方案吗?

ruby ruby-on-rails slim-lang

31
推荐指数
4
解决办法
3万
查看次数

动态类名

如何生成动态类名?

  li v-for='obj in objs'
    | {{ obj.id }} {{ obj.title }}
    div id="obj-{{ obj.id }} " style="float:right; color:red;"
Run Code Online (Sandbox Code Playgroud)

这个样本不起作用!我需要这个类名来更新div!

slim-lang vue.js

28
推荐指数
3
解决办法
4万
查看次数

Ruby on Rails - 使Slim成为默认模板

我正在开发Ruby on Rails项目,我需要自定义Gems提供的默认视图.

要求是使用Slim作为模板.我知道ERB是Rails的默认模板引擎.

根据我的观察,ERB的优先级是,如果不是,它将使用Slim/Haml视图.

我有兴趣知道是否可以将Slim设置为默认值而不是ERB?

如何实现这一点,以便当我在Slim中创建本地版本的模板时,它将覆盖gem提供的模板.

任何线索将不胜感激.

ruby-on-rails-3.2 slim-lang

21
推荐指数
2
解决办法
1万
查看次数

Slim中单个和双等的差异(= vs ==)

在Slim中,我什么时候应该使用双等号?

例如:

== yield
== render 'partial'
== stylesheet_link_tag "application", media: "all"
title == full_title(yield(:title))

- flash.each do |key, value|
    == value
Run Code Online (Sandbox Code Playgroud)

要么

= yield
= render 'partial'
= stylesheet_link_tag "application", media: "all"
title == full_title(yield(:title))

- flash.each do |key, value|
    = value
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails slim-lang

19
推荐指数
2
解决办法
4439
查看次数