在Java Script if-else块中设置Ruby变量

时间:2016-03-11 08:31:48

标签: javascript ruby-on-rails ruby-on-rails-4 instance-variables

我有这个java脚本代码块:

if(cond1){
  <% @user_status = "new" %>
} else if(cond2){
  <% @user_status = "active" %>
} else if(cond3){
  <% @user_status = "inactive" %>
} else{
  <% @user_status = "pending" %>
}

url = "<%= users_with_status_path(:user_status => @user_status) %>";

我正在使用此变量@user_status来执行AJAX调用。问题是无论条件如何,该变量总是设置为“待定”。为什么会这样?

1 个答案:

答案 0 :(得分:2)

您无法为javascript块中的ruby变量赋值。

您需要创建javascript变量。

<script>

var status = ''
if(cond1){
  status = "new"
} else if(cond2){
 status = "active" 
} else if(cond3){
status = "inactive" 
} else{
status = "pending" 
}

url = "/user status path?user_status="+status;

you ajax call
</script>