<% 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 %>
是否可以在一个块内编写这些代码行? 任何人都可以发布快捷方式吗?太多&lt; %%&gt; ,&lt;%end%&gt;
答案 0 :(得分:6)
这样做有什么问题?
<% 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 %>
答案 1 :(得分:3)
您的代码对于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是一个品味问题。