在我的 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 。所以&lt;%if @ variable1 == @ variable2%&gt;条件不起作用
我的控制器中定义的variable1和variable2
我如何才能使这种条件相同?
答案 0 :(得分:0)
控制器变量在partials中不可见。请阅读official documentation on partials
答案 1 :(得分:0)
您需要通过本地传递这些变量到部分:
//e.g locals: {variable1: @variable1, variable2: @variable2}
$(".div").html("<%= escape_javascript(render('something/some_form', locals: {variable1: @variable1, variable2: @variable2})) %>");
some_form
<% if variable1 == variable2 %>
show something1
<% else %>
show something2
<% end %>