如何在HAML中与纯文本在同一行添加Ruby IF语句?

时间:2013-12-28 15:17:37

标签: ruby-on-rails ruby haml

我正在尝试在与HAML中的某些文本相同的行上添加一个简单的IF语句:

%h2 Information about 
    - project.participants.each do |participant|
      - if participant != current_user
        %h2=link_to participant.full_name, participant

但网页显示:

有关

的信息

(人名)

如何让它在一行上显示“有关(人名)的信息?”

谢谢!

编辑:这是我在HTML中的方式:

Information about <% project.participants.each do |participant| %> <% if participant != current_user %> <%= link_to participant.full_name, participant %>.

一切都在一条线上。

4 个答案:

答案 0 :(得分:2)

如下:

- project.participants.each do |participant|
  - if participant != current_user
    %h2 
      %span
        Information about
      =link_to participant.full_name, participant

答案 1 :(得分:1)

如果您希望第一个h2代码包含多个简单的单行代码,请在其后添加一个分隔符:

所以而不是:

%h2 Information about
# => <h2>Information about</h2>

使用:

%h2
  Information about
  .
  .
  .

# => <h2>
#      Information about
#      .
#      .
#      .
#    </h2>

答案 2 :(得分:1)

您应该选择内联显示的html标记元素。

一些例子是:

%h2
  %em Information about
  =link_to participant.full_name, participant

%h2
  %span Information about
  =link_to participant.full_name, participantenter code here

答案 3 :(得分:0)

我会做这样的事情

- project.participants.each do |participant|
  - if participant != current_user
    %h2="Information about #{link_to participant.full_name , participant}"