Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态添加嵌套表单_Javascript_Ruby On Rails 3_Nested Forms - Fatal编程技术网

Javascript 动态添加嵌套表单

Javascript 动态添加嵌套表单,javascript,ruby-on-rails-3,nested-forms,Javascript,Ruby On Rails 3,Nested Forms,我一直在跟踪这个火车司机 我有一个任务和步骤。每个任务可以有许多步骤 我试图通过单击链接添加嵌套表单。 railscast显示的内容与我拥有的内容之间的区别在于,我已经在我的steps控制器中设置了我的steps表单,但这不应该是一个问题 我还将rails3与jQuery结合使用,但还没有看到任何关于如何在rails3中实现这一点的教程 我的任务/new.html.erb <%= form_for @task, :html=>{:multipart => true do |f| %&

我一直在跟踪这个火车司机

我有一个任务和步骤。每个任务可以有许多步骤

我试图通过单击链接添加嵌套表单。 railscast显示的内容与我拥有的内容之间的区别在于,我已经在我的steps控制器中设置了我的steps表单,但这不应该是一个问题

我还将rails3与jQuery结合使用,但还没有看到任何关于如何在rails3中实现这一点的教程

我的任务/new.html.erb

<%= form_for @task, :html=>{:multipart => true do |f| %> <%= render 'form', :f=>f %> < end > {:multipart=>true do | f |%> f%> 对于我的任务/_form.html.erb

<%= f.label :task_name %> <%= f.text_field :task_name %> <%= f.label :media %> <%= f.file_field :media %> < div id="steps" > <%= render 'steps/form', :f=> f % > < /div> <%= link_to_function "Add Step" do |page| page.insert_html :bottom, :steps, :partial=>'steps/form', :object => Step.new end %> <%= f.submit %> <p class="fields"> <%= fields_for :steps do |builder| %> <%= builder.label :title > <%= builder.text_field :title > <%= builder.label :description %> <%= builder.text_area :description %> <% end %> </p>
f%>
'步骤/形式',:object=>Step.new end%> <%=f.提交%> 步骤/form.html.erb

<%= f.label :task_name %> <%= f.text_field :task_name %> <%= f.label :media %> <%= f.file_field :media %> < div id="steps" > <%= render 'steps/form', :f=> f % > < /div> <%= link_to_function "Add Step" do |page| page.insert_html :bottom, :steps, :partial=>'steps/form', :object => Step.new end %> <%= f.submit %> <p class="fields"> <%= fields_for :steps do |builder| %> <%= builder.label :title > <%= builder.text_field :title > <%= builder.label :description %> <%= builder.text_area :description %> <% end %> </p>

页面加载良好,但当我单击“添加步骤链接”时,我得到两个javascript错误

RJS error: TypeError: Element.insert is not a function RJS错误: TypeError:Element.insert不是函数 然后

元素。插入(“步骤”,{bottom:

\n\t

\t});
“链接到”功能在rails3中不再有效

我所做的是 1) 看这个电影

我现在使用的不是“link\u to\u”函数

<% link_to "Add Step", @step, :remote=>true, :class=>'addStep'%> true,:class=>'addStep'> 然后我有了一个用于处理和显示javascript的内容(jQuery)

$('a.addStep')。单击(函数(){ $('div#newStep').html(“”); })
这是在将表单添加到页面中,但由于呈现未将步骤连接到任务,因此尚未完全连接。还不完全确定如何编写该步骤,但表单现在正在添加到页面中,它无法正确提交。

您应该试用此gem,以便更轻松地设置它,而不会遇到任何麻烦。您是否也检查了ut轨道铸件和。这些是全新的复杂形式,而不是它的嵌套模型,同样的事情

去掉所有的“h”,并确保将应用程序帮助程序底部的Jquery行更改为:

link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")")
此线程可以指导您:


另外,请阅读Rails强制转换的注释区域,因为它们通常会一直更新代码。

Rails3中似乎不推荐使用link\u to\u函数。我还不确定如何编写此函数,但我正在研究它,并将在此处发布答案(除非有人告诉我)。