标签: erb

Rails中ERB中的<%,<%=,<%#和 - %>有什么区别?

有人可以描述ERB文件中使用的以下字符的用法:

<%   %>
<%=  %>
<%  -%>
<%#  %>
Run Code Online (Sandbox Code Playgroud)

每个人的用法是什么?

ruby templates ruby-on-rails erb

351
推荐指数
5
解决办法
10万
查看次数

raw vs html_safe vs. h to unescape html

假设我有以下字符串

@x = "<a href='#'>Turn me into a link</a>"
Run Code Online (Sandbox Code Playgroud)

在我看来,我想要显示一个链接.也就是说,我不希望@x中的所有内容都被取消转义并显示为字符串.使用之间有什么区别

<%= raw @x %>
<%= h @x %>
<%= @x.html_safe %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails erb

318
推荐指数
5
解决办法
25万
查看次数

在erb中添加注释的最佳方式

如果我们不希望将它们生成到html内容中,我们如何在erb文件中添加注释?

ruby ruby-on-rails erb

242
推荐指数
4
解决办法
7万
查看次数

erb是什么意思?

为什么Rails应用程序的视图格式*.erb.html?"erb"是什么意思?

ruby ruby-on-rails erb

127
推荐指数
4
解决办法
7万
查看次数

在rails中阻止html.erb模板中的注释

你如何评论html与ruby代码混合?

some text <% ... %> more text <%= ... %>
something else
<% ... %>
Run Code Online (Sandbox Code Playgroud)

在jsp中它真的很简单:<%-- ... --%>但是我无法在rails中找到任何简洁的选项.

简单的html注释<!-- ... -->不起作用:ruby代码仍然执行并且会出错.

有一个选项可用于if falsehtml注释,但它非常冗长,更不用说IDE不支持它.

还有一种来自纯红宝石的选择,这令人惊讶地起作用.

<%
=begin %>
... html and ruby code goes here
<%
=end %>
Run Code Online (Sandbox Code Playgroud)

它通常很好,除了它冗长,看起来很奇怪,我知道没有任何ruby IDE支持它(是的,我喜欢用一次击键来评论/评论).

我很好奇,在轨道上有没有"正式"这样做?

谢谢!

ruby ruby-on-rails erb

113
推荐指数
9
解决办法
9万
查看次数

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

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

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

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

haml ruby-on-rails erb slim-lang

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

如何在ERB中转义ERB标记

我有一个简单的fixture.yml文件:

label:
    body: "<%= variable %>"
Run Code Online (Sandbox Code Playgroud)

问题是ERB代码被解析为加载fixture的一部分,而我实际上希望body实际上是"<%= variable%>"(非插值).

如何逃避ERB标记?

unit-testing fixture ruby-on-rails erb

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

在options_for_select标记的选择列表中包含第一项的空白

我试过了:include_blank => true,但没办法.

<select>
    <%= options_for_select Model.all.collect{|mt| [mt.name, mt.id]} %>
</select>
Run Code Online (Sandbox Code Playgroud)

如果我需要将它添加到集合中,你会怎么做?

html-select ruby-on-rails erb ruby-on-rails-3

60
推荐指数
4
解决办法
7万
查看次数

使用散列值渲染ERB模板

我必须忽略一些非常简单的东西,但我似乎无法弄清楚如何使用哈希映射的值渲染一个简单的ERB模板.

来自python的我对ruby比较新.我有一个ERB模板(不是HTML),我需要使用从哈希映射中获取的上下文来渲染,我从外部源接收.

但是,ERB的文档说明该ERB.result方法需要一个binding.我才知道,他们是保持着可变背景的红宝石东西(像locals()globals()在python,我相信?).但是,我不知道如何从哈希映射中构建绑定对象.

一点点(很多,实际上)谷歌搜索给了我这个:http://refactormycode.com/codes/281-given-a-hash-of-variables-render-an-erb-template,它使用了一些红宝石元编程魔法逃避我

那么,这个问题不是一个简单的解决方案吗?或者是否有更好的模板引擎(不依赖于HTML)更适合这种情况?(我只选择了ERB,因为它在stdlib中).

ruby template-engine erb

57
推荐指数
6
解决办法
4万
查看次数

使用simple_form输入的默认值

我试图做输入的默认值

工作正常:

<%= f.input_field :quantity, default: '1' %> 
Run Code Online (Sandbox Code Playgroud)

但我需要f.input而不是f.input_field

<%= f.input :quantity %> 
Run Code Online (Sandbox Code Playgroud)


怎么解决这个?有没有像f.input_field那样的选择 - :默认?还是有其他有价值的解决方案?

ruby-on-rails erb simple-form ruby-on-rails-4

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