【发布时间】:2014-09-15 15:05:23
【问题描述】:
正如标题所说,我正在尝试使用 AJAX 请求加载部分表单;我表单中的一个字段需要控制器中的变量,以便它可以创建选择下拉菜单。如果我直接在视图中渲染部分,它可以很好地访问变量但是当我分离部分并尝试通过 AJAX 请求加载它时,它不知道如何找到变量。
我已经尝试按照答案found here(将其作为局部变量提供给部分)但它仍然不起作用。
@headers 是未加载的变量。
部分:
= simple_form_for(Constraint.new, html: {:multipart => true, autocomplete: "off", :class=> "form-horizontal" }, remote: true, :authenticity_token => true) do |f|
div.profile-details
br
= f.select :header, @headers.each{|header|} , input_html:{:class => "user-update"}, label: "Header", :prompt => "Select a Header"
br
= f.button :submit, "Save Constraint"
加载部分的.js 文件:
$(".newConditionContainer").append('<%= escape_javascript(render 'projects/rulesConstraintsInput')%>');
更新:
我最终在调用 js 请求的控制器方法中定义了变量。我之前假设该变量是可访问的,但它只是在局部之外的方法中定义的。
【问题讨论】:
标签: jquery ruby-on-rails ajax renderpartial