2015-12-11 56 views
1

迄今爲止的答案未奏效,因此我重新編寫了我的幫助請求。我希望它更清楚我在掙扎着什麼如何從一張表格中填寫表格並將結果保存到另一張表格中

我想從一個表(Table1)返回的數組(Array1)中的字段移動到另一個數組(Array1),允許編輯和寫入每個記錄到Table2。

希望的方法中/在控制器new_multiple: 1. @tasks = Task.find(PARAMS [:task_ids])#返回多個記錄 #:task_ids是複選框標籤從以前的形式 注#returned
:這工作。 2.移動@tasks每進@event和創建之前發送到現有new.html.erb形式爲編輯和/或確認如下(??):

@tasks.each do |task| 
     @event = Event.new 
     @event.location = task.task_location 
     @event.description = task.task_description 
     event.start_date = start_date + task.days_from_from_start_task 
     ..... more calculated fields 
     ***send to form for edit, show, create and return for next record (QUESTION 1 below) 
    end 

注:重定向並返回* **轉到表格,但數據不顯示在表格中。我還沒有確定它是否真的返回。

問題: 1.是否有一種方式從控制器的迭代中間調用表單,然後返回其他記錄的循環? 2.如果不是,我如何(我可以?) a)將多個@任務記錄移動到@events數組中,如上所示(用於編輯表格中的表格) b)告訴系統每個該陣列的各個行要被寫上提交一份新的記錄

背景:

我創建一個應用程序,允許套未來事件的調度。相關任務(集)保存在一個表中,並指定該任務發生時組中的第一個任務的順序和天數。

用戶通過設置條件 - 任務組和事件開始日期來啓動流程。

然後使用form_tag將任務記錄與計算的日期/時間一起顯示在表格的表格中。此時,它們看起來就像將要創建的事件。每行都有一個用於選擇組中任務的複選框標記。在用戶選擇了事件(或所有事件)後,應用程序返回到控制器,返回一個名爲new_multiple_events的方法

到目前爲止,一切正常,我可以看到所選的記錄已被選中勾選)在事件控制器內使用調試器。

我現在想單獨顯示每條記錄,並允許用戶編輯計算出的事件發生的日期和時間以及其他幾個字段,例如位置和筆記等,然後提交創建記錄事件表。但這是我不知道的地方。 型號: 任務表型號:

 task.task_description      
     task.task_location       
     task.task_notes       
     task.days_from_start_task 
     task.task_group_name 

     Event table model: 

     event.title = task.task_group_name 
     event.location = task.task_location 
     event.description = task.task_notes 
     event.start_date = start_date + task.days_from_from_start_task 
     etc... 

我有個別事件進入正常工作到日曆中的一種形式,我想從返回任務數組中的數據(加計算字段)移動到事件數組作爲這個表單的默認值,這將允許用戶保存數據。

感謝您提前給予您的幫助。

+0

我想你可能會發現['fields_for'](http://apidock.com/rails/ActionView/Helpers/FormHelper/fields_for)有用 –

回答

-1

我正在關閉此問題,因爲我沒有收到相關答案。在將數據寫入其他表格之前,我想允許從一個表格中編輯選定的數據,並附加信息。爲了解決這個問題,我將所選數據保存到另一個表中,然後立即讀取數據以進行編輯/更新。對用戶來說,它看起來是一樣的。

+0

這似乎不是您自己問題的答案,而是解決方法。即使這個問題在一個月前被問過,你應該保持開放狀態,不要用一個不相關的答案關閉它。有人可能會來,並提供一個不僅對你有用,而且對其他人有用的答案。 –

0

我不知道你是如何預先編輯你正在編輯/創建的事件,但你的代碼聲明你正在模型中做這件事。但是,您應該呈現形式之前創建的控制器邏輯,所以做這樣的事情:

events_controller.rb

def new 
    task = Task.find(params[:task_id]) 
    @event = Event.new 
    @event.title = task.task_group_name 
    @event.location = task.task_location 
    @event.description = task.task_notes 
    @event.start_date = start_date + task.days_from_from_start_task 
end 

然後創建表單就像你通常與你已經找到自己的形式做申報:form_for @event do |f|

請考慮,我用PARAMS [:TASK_ID],提示您設置路線下的任務嵌套的事件,這樣你的URL結構如下(舉例):/任務/ 13 /事件/新

Goog luck

+0

謝謝你的迴應,博盎。我將返回:來自以前表單的task_ids – user3331154

+0

還有更多內容:感謝您的回覆,@ bo-oz。我從前面的表格中返回一個複數:task_ids,因爲用戶將會「打勾」幾行。我已經嘗試了兩種類似的方法,在控制器的new_multiple部分中進行迭代,並重定向到/ new - 在/ new中填充/在填充循環內然後重定向。我會再試一次,因爲它可能是一個無關緊要的問題。如果它不起作用,我將再次使用代碼更新此代碼 – user3331154

+0

這不起作用。我已經澄清了我的問題 – user3331154

相關問題