어떻게 작성 if
하고 if
- else
루비 레일에 응용 프로그램 HAML의 문을?
어떻게 작성 if
하고 if
- else
루비 레일에 응용 프로그램 HAML의 문을?
답변:
HAML은 들여 쓰기 기반이며 파서는 까다로울 수 있습니다. Haml에서 "-end"를 사용할 필요가 없습니다. 대신 들여 쓰기를 사용하십시오. Haml에서는 Ruby 평가 명령 후 들여 쓰기가 증가 할 때마다 블록이 시작됩니다. 들여 쓰기가 감소하면 종료되며, else 블록이면 다음과 같이 샘플합니다.
- if condition
= something
- else
= something_else
실용적인 예
- if current_user
= link_to 'Logout', logout_path
- else
= link_to 'Login', login_path
편집 : if 조건 만 사용하고 싶다면
- if current_user
= link_to 'Logout', logout_path
or
조건 에 연산자 를 추가하는 방법은 무엇입니까?
haml에서는 두 개의 연산자가 루비 코드에 사용됩니다.
=
평가되어 문서에 삽입되는 루비 코드에 사용됩니다. 예:
= form_for @user
-
평가되고 문서에 삽입되지 않는 루비 코드에 사용됩니다. 예:
- if @user.signed_in?
= "Hi"
- else
= "Please sign in!"
=
당신이 출력 일반 같은 문자열을 원하는 경우 Hi
나 Please sign in
. =
같은 루비를 평가하기위한에만 필요합니다= "Hi, #{@user.name}"
haml에서 -
(대시)를 사용하여 라인이 Ruby 코드임을 나타냅니다. 또한 들여 쓰기 수준은 블록 수준을 나타냅니다. 두 개를 if / else 문에 결합하십시오.
- if signed_in?
%li= link_to "Sign out", sign_out_path
- else
%li= link_to "Sign in", sign_in_path
ERB의 다음 코드와 동일합니다.
<% if signed_in? %>
<li><%= link_to "Sign out", sign_out_path %></li>
<% else %>
<li><%= link_to "Sign in", sign_in_path %></li>
<% end %>
다음은 두 개의 링크입니다.
첫 번째는 변환기입니다. html 또는 erb 스 니펫을 입력하면 haml을 얻을 수 있습니다!