Ruby on rails 如何在haml中将link_to中的文本和ruby代码放在同一行上?

Ruby on rails 如何在haml中将link_to中的文本和ruby代码放在同一行上?,ruby-on-rails,ruby,haml,Ruby On Rails,Ruby,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) 如何使用ha

我试图通过以下操作在
之间建立一个
链接,指向

= div_for review do
    = link_to review.title, review_path(review)
    (
    = link_to review.user.email, user_path(review.user)
    )
结果不是我想要的,因为它在括号和链接文本之间放置了空格,所以看起来像:

 link1 ( link2 )
但我希望它看起来像:

 link1 (link2)
如何使用haml实现这一点

= 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)
)
或者,您可以将链接放在
span
标记中,并告诉Haml使用空格:

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

将字符串与内联ruby一起使用:

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

raw仅适用于Rails 3(及更高版本)。

使用带内联ruby的字符串:

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

raw仅适用于Rails 3(及更高版本)。

我最近发现了一件关于haml的有趣事情

==-Ruby插值字符串

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

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

我最近发现了一件关于哈默的有趣的事情

==-Ruby插值字符串

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

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

你能添加你想要生成的HTML吗?你能添加你想要生成的HTML吗?好的,这成功了…什么是“raw”的意思,为什么成功了?在Rails 3中,默认情况下,所有字符串都是HTML转义的(Rails 2中需要h函数)。raw阻止了这一点,因此您可以从控制器中的帮助器创建html字符串吗?string=raw(“#{link_to}”)来获取string=?好的,这是可行的…raw是什么意思,为什么可行?在Rails 3中,默认情况下,所有字符串都是HTML转义的(Rails 2中需要h函数)。raw阻止了这一点,因此您可以从控制器中的帮助器创建html字符串吗?string=raw(“#{link_to}”)来获取string=?