2015-01-31 2 views
-1

У меня есть этот кусок кода я использую, чтобы отобразить элемент на моей странице, если пользователь вошел в систему:Как изменить содержимое div, если сеанс [: user_id] = nil in rails?

<% if session[:user_id] %> 
<%= render partial: '/shared/admin_toolbox' %> 
<% end %> 

Я думаю, что я мог бы использовать эту сессионный [: user_id], чтобы изменить элементы внутри DIV/SPAN, если пользователь вышел из системы, но я не знаю, как это сделать.

Например: если пользователь выходит из системы, я хочу, чтобы иметь ДИВ следующий код в нем:

<a href="#" class="btn btn-primary">Log In</a> 
<a href="#" class="btn btn-success">Register</a> 

... и если пользователь вошел в систему, я хочу, чтобы иметь

<p>Hello, (USER) !</p> 
<a href="#" class="btn btn-danger">Log Out</a> 

Я знаю, как показать текст, если пользователь вошел в систему, но я понятия не имею, как изменить материал в div. Помогите ?

ответ

1

Добавить else в ваше состояние. В рубине nil рассматривается false. Если мы предположим, что session[:user_id] равен нулю, когда пользователь вошел в систему, легко создать соответствующую логику:

<% if session[:user_id] %> 
    <%= "I'm logged in so do something inside this block" %> 
<% else %> 
    <% "I'm logged out and will execute this block if session[:user_id] is nil" %> 
<% end %> 
Смежные вопросы