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