Рефакторинг моего кода, как я могу написать эти строки в одном блоке? - PullRequest
0 голосов
/ 16 декабря 2011
<% if user_signed_in? %>
    <li><%= link_to('Logout', destroy_user_session_path, :method => :delete) %>  </li> 
    <li><%= link_to('Edit registration', edit_user_registration_path) %> </li>
    <li><%= link_to 'Add Post', :controller=>'/posts', :action=>'new' %></li>
<% else %>
    <li><%= link_to('Login', new_user_session_path)  %></li>
<% end %>

Можно ли написать эти строки кода внутри одного блока? Кто-нибудь может опубликовать ярлык? Слишком много <%%>, <% end%>

Ответы [ 2 ]

6 голосов
/ 16 декабря 2011

Что не так с этим делать?

<% if user_signed_in? %>
    <li><%= link_to('Logout', destroy_user_session_path, :method => :delete) %>  </li> 
    <li><%= link_to('Edit registration', edit_user_registration_path) %> </li>
    <li><%= link_to 'Add Post', :controller=>'/posts', :action=>'new' %></li>
<% else %>
    <li><%= link_to('Login', new_user_session_path)  %></li>
<% end %>
3 голосов
/ 16 декабря 2011

Ваш код довольно нормален для ERB. Если вы хотите уменьшить дополнительное форматирование, вы можете использовать HAML :

- if user_signed_in?
  %li= link_to('Logout', destroy_user_session_path, :method => :delete)
  %li= link_to('Edit registration', edit_user_registration_path)
  %li= link_to 'Add Post', :controller=>'/posts', :action=>'new' 
- else 
  %li= link_to('Login', new_user_session_path)

Использовать или нет HAML imho - дело вкуса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...