1

我不知道可能是什么原因造成这种情况。我在应用程序中制作第二个嵌套表单。我有一个网站让学生找工作。工作模式和形式是指从网站上完成的工作,并简单列出学生的真实世界工作。它是一种嵌套形式,是名为Resume的模型的一部分。我有另一个模型,完全不同,称为Schedule。安排belongs_to称为项目的模型。我正在尝试制作嵌套表单,以便用户可以创建计划。这两种形式都使用javascript根据需要在页面上动态创建新表单。出于某种原因,当我试图进入该计划表页面,有人告诉我:Rails嵌套窗体错误

Missing partial schedules/job_fields, application/job_fields 

这是没有意义的工作,计划没有任何关系。它不应该寻找部分就业领域。下面是时间表的视图代码:

<% @projects.each do |project| %> 
    <%= form_for project do |f| %> 
    <%= f.fields_for :schedules do |builder| %> 
     <%= render 'schedule_fields', :f => builder %> 
    <% end %> 
    <p><%= link_to_add_fields "Add Schedule", f, :schedules %> 
    <p><%= f.submit "Submit" %></p> 
    <% end %> 
<% end %> 

下面是部分 '_schedule_fields.html.erb'

<p class = "fieldo"> 
    <%= f.label :title %><br /> 
    <%= f.text_field :title %><br /> 

    <%= f.label :task %><br /> 
    <%= f.text_field :task %><br /> 

    <%= f.hidden_field :_destroy %> 
    <%= link_to_function "remove", "remove_fields(this)" %> 
</p> 

,这里是jQuery的:

//Dynamic forms 
function remove_fields(link) { 
     $(link).prev("input[type=hidden]").val("1"); 
     $(link).closest(".fieldo").hide(); 
} 

function add_fields(link, association, content) { 
     var new_id = new Date().getTime(); 
     var regexp = new RegExp("new_" + association, "g"); 
     $(link).parent().before(content.replace(regexp, new_id)); 
} 

现在,这里的东西有趣。如果我在views/schedules目录中创建一个'_job_fields.html.erb'文件,并复制并粘贴'_schedule_fields.html.erb'中的内容,则表单完美无缺。我无法弄清楚为什么它会在表单计划中明确表示时寻找job_fields部分。我如何使用schedule_fields部分工作?谢谢!

+0

在你的问题之上,我是否正确地假设你试图动态添加字段到这个表单? –

+0

是的。实质上,每个时间表由一个任务组成。每次有人点击“添加”时,都会动态创建一个新的时间表表单(一个字段用于标题和一个字段用于任务) – Philip7899

+0

是的,我想我可以识别您正在做的事情,因为我昨天正在从事这项工作!如果你需要一些灵感,这里有一个非常好的教程(带有工作演示):http://pikender.in/2013/04/20/child-forms-using-fields_for-through-ajax-rails-way/ –

回答

0

看起来你没有正确排列参数。 (如果你在你的应用助手使用任何东西,你应该给太多。)

你的link_to函数看起来像这样

link_to_add_fields "Add Schedule", f, :schedules 

但JavaScript是需要不同的参数:

function add_fields(link, association, content) 

如果你匹配它们,你会得到f =关联,这是错误的。 :时间表是关联。我会检查出这个railscast的更多帮助:http://railscasts.com/episodes/403-dynamic-forms