В моем файле .html.erb есть следующий код, который работает так, как ожидалось:
<% if !current_user %>
<%= link_to "Sign in (or up)", '/login', :class => "login_button round" %>
<% else %>
<%= link_to "Sign out", '/logout', :class => "login_button round" %>
<% end if %>
Но я подумал, что было бы неплохо вставить условную логику в помощник и очистить файл .html.erb. У меня сейчас есть следующее, но оно не работает. Я .html.erb:
<%= sign_in_out_button %>
А в помощнике:
def sign_in_out_button
out = ''
if current_user
out << link_to('Sign out', '/logout', :class => 'login_button round')
else
out << link_to('Sign in (or up)', '/login', :class => 'login_button round')
end
end
То, что я получаю, проверяя исходный код браузера, это именно то, что я ищу, но за исключением того, что оно отображается, а не интерпретируется браузером как код. Есть идеи, как решить эту проблему?