2015-10-27 2 views
0

Я пытаюсь использовать Javascript в своем приложении RoR4.Javascript, если условие для RoR

Проблема у меня в том, что, когда есть 2 условия if, второй всегда выполняется, даже если этого не должно быть.

Вот мой код:

$(document).ready(function() { 
if (document.body.contains('individual')) 
{ 
    alert('first');  
} else if (document.body.contains('main')) 
    { 
    <% if current_user.activated%> 
     alert('not activated'); 
    <% else %> 
     alert('activated'); 
    <% end %> 
    } 
}) 

Edit * Даже без рубина, если следующий код все еще не работает. Второй оператор все еще загружается, когда div не существует и, таким образом, вызывает ошибку.

$(document).ready(function() { 
if (document.getElementById('individual')) 
{ 
    $("#individual").html("<%= escape_javascript(render 'post', locals: { items: @posts}) %>");   
} 
else 
{ 
    $("#user").html("<%= escape_javascript(render 'history', locals: { items: @history}) %>"); 
    } 
}) 
+0

Я пытался использовать getElementById вместо не содержит, а также, по-прежнему не повезло –

+0

ли это быть вызвано выполнением стороне сервера, то есть рубин, если, сначала был выполнен, а затем скрипт клиентской стороны, то есть javascript if, позже был выполнен и это вызвало проблему? –

ответ

0

, если (выражение 1) { себе (ы) должны быть выполнены, если выражение 1 истинно }

иначе, если (выражение 2) { себе (ы) должны быть выполнены, если выражение 2 истинно }

иначе, если (выражение 3) { себе (ы) должны быть выполнены, если выражение 3 верно }

эль се { Statement (s) будет выполняться, если никакое выражение не верно }

+0

Я пробовал это, и без бит escape_javascript все в порядке. Но когда я включаю escape_javascript в предложение if, тогда весь цикл не работает –

Смежные вопросы