0

在我的index.js.erb

$(".div").html("<%= escape_javascript(render('something/some_form')) %>");

some_form.htm.erb我有不工作的条件

<% if @variable1 == @variable2 %> 
   show something1
<% else %>
   show something2
<% end %>

出于某种原因,当我的 js.erb 呈现这个部分时,我总是有show something2。所以 <% if @variable1 == @variable2 %> 条件不起作用

在我的控制器中定义的 variable1 和 variable2

我怎样才能使这个平等的条件起作用?

4

2 回答 2

0

控制器变量在部分中不可见。请阅读有关部分的官方文档

于 2012-11-07T16:53:14.953 回答
0

您需要通过局部变量将这些变量传递给局部变量:

//e.g locals: {variable1: @variable1, variable2: @variable2}

$(".div").html("<%= escape_javascript(render('something/some_form', locals: {variable1: @variable1, variable2: @variable2})) %>");

某种形式

<% if variable1 == variable2 %> 
   show something1
<% else %>
   show something2
<% end %>
于 2012-11-07T17:48:18.290 回答