gpt4 book ai didi

javascript - 动态添加嵌套表单

转载 作者:行者123 更新时间:2023-11-29 22:37:18 26 4
gpt4 key购买 nike

我一直在关注这个 railscast http://media.railscasts.com/videos/074_complex_forms_part_2.mov

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

我正在尝试通过单击链接来添加嵌套表单。railscast 显示的内容与我所拥有的内容之间的区别在于我在我的步骤 Controller 中有我的步骤表单,但这应该不是问题。

我也在使用带有 jQ​​uery 的 rails3,但还没有看到任何关于如何在 rails3 中执行此操作的教程。

我的任务/new.html.erb

<%= form_for @task, :html=>{:multipart => true do |f| %>  <%= render 'form', :f=>f %>< end >

我的任务/_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 %>

步骤/form.html.erb

<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

然后

Element.insert("steps", {bottom: "<p class=\"fields\">\n\t</p>\t"});

最佳答案

link_to_function 在 rails3 中不再有效。

我做的是1) 观看此截屏视频 http://railscasts.com/episodes/205-unobtrusive-javascript

我现在有

而不是“link_to_function”
<% link_to "Add Step", @step, :remote=>true, :class=>'addStep'%>

然后我有一个 content_for 来处理和显示 javascript (jQuery)

$('a.addStep').click(function(){   $('div#newStep').html("<= escape_javascript(render('steps/form'))%>");})

这是将表单添加到页面,但由于渲染未将步骤连接到任务,因此并未全部连接起来。还不完全确定如何写,但现在正在将表单添加到页面中,它不会正确提交。

关于javascript - 动态添加嵌套表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com