2015-02-10 51 views
0

我正試圖找到解決上述問題的方法。使用ID創建臨時對象的導軌

基本上,我有一個模型'工作',它有和屬於許多聯繫人和位置。當用戶開始創建新作業時,他們應該能夠開始向新記錄添加地點和聯繫人。問題是當我嘗試保存記錄時。用戶如何將位置和聯繫人記錄關聯到還沒有ID的工作記錄?該錯誤消息我上創建動作是這樣的,

對於每一個接觸我嘗試添加我得到一個

Validation failed: Job contacts is invalid 

我的猜測來自於一個事實作業ID不當時存在的任務。

通過控制器傳遞的參數都在job_params中,這是我希望如何接收它們的參數。 SimpleForm協助了這一功能,該功能爲habtm記錄提供了方便的「關聯」方法。如果可能的話,我想使用簡單的形式(不使用field_tags等)將所有內容保留在表單對象中。因此,例如,聯繫人字段看起來像這樣。

=f.association :contacts, collection: job.client.contacts, as: :check_boxes 

那麼我的選擇是什麼?有什麼我可以做不同的事情嗎?

我曾考慮以下幾點:

  1. 在新的行動創造一個記錄,並用標誌設置,直到必要的字段已填充陳述其無效。在這一點上,它可以成爲一個「正確」的記錄,但這感覺就像它有可能變得相當混亂。

  2. 使用STI開始虛擬記錄?

也許我走的滑雪道與所有這一切,但即使是某些方向將不勝感激。

回答

0

將用戶標識分配給作業。然後,在爲用戶尋找工作時,請執行以下操作:

jobs = Job.where("user_id = ?", user.id)