2011-05-01 44 views
1

我试图这样做是为了把和)一个link_to之间(如何将文本和ruby代码从link_to放在haml的同一行上?

= div_for review do 
    = link_to review.title, review_path(review) 
    (
    = link_to review.user.email, user_path(review.user) 
    ) 

的结果,不是我想要的,因为它把括号和链接文本之间的空间,所以它看起来像:

link1 (link2) 

但我希望它看起来像:

link1 (link2) 

我该怎么做,使用火腿L·

+0

你可以添加你想要生成的HTML? – 2011-05-01 23:07:48

回答

3

使用内联红宝石的字符串:

= link_to review.title, review_path(review) 
=raw "(#{link_to review.user.email, user_path(review.user)})" 

的原料是仅适用于Rails 3(及更高版本)。

+0

好吧,这工作...什么是“原始”的意思,为什么这个工作? – Angela 2011-05-01 23:11:28

+1

在Rails 3中,所有字符串默认都是HTML转义的(用于在Rails 2中需要h函数的)。生防止这个,所以你得到 Thilo 2011-05-01 23:14:12

+0

can I create a string of html from the helper in a controller? string = raw ("#{link_to}") to get string = ? – Angela 2011-05-02 05:00:02

4
= link_to review.title, review_path(review) 
= surround '(', ')' do 
    = link_to review.user.email, user_path(review.user) 

或者,你可以把你的链接在span标签,并告诉Haml的吃空白:

(
%span>= link_to review.user.email, user_path(review.user) 
) 
5

最近,我发现那位约HAML

==有趣的事情 - 红宝石插值字符串

%h1== (#{link-to review.user.email, user_path(review.user)}) 

就像

%h1= raw "(#{link_to review.user.email, user_path(review.user)})" 
+0

很酷感谢 – Angela 2012-08-06 05:13:21

+0

很酷。它节省了我的时间:) – 2014-08-25 08:48:50

相关问题