重构我的代码,我怎么能在一个块中写这些行?

shi*_*bly 0 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

<% 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 %>
Run Code Online (Sandbox Code Playgroud)

是否可以在一个块内编写这些代码行?任何人都可以发布快捷方式吗?太多<%%>,<%end%>

Mat*_*cey 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 %>
Run Code Online (Sandbox Code Playgroud)

  • 如果你想摆脱`end`行并使你的模板不那么冗长,那就尝试使用HAML. (3认同)