2015-01-15 86 views
0

由於業務邏輯的原因,我希望我的Rails應用程序中的某些資源能夠以各種形式創建和更新。因此,例如,我有一個資源Business,根據用戶是剛剛註冊或在網站上停留了一段時間,可以從/account_setup(第一次用戶)或/businesses/new(現有用戶)創建業務。Rails多個創建/更新表單

我想同時使用這兩種表單發佈到相同的:create方法,我希望該方法足夠聰明以找出哪個頁面發佈,以便它可以呈現該頁面,如果它未通過驗證。只是爲了清晰:

GET /account_setup =>POST /businesses =>businesses#create => {失敗} =>render 'account_setup'

GET /businesses_new =>POST /businesses =>businesses#create => {失敗} =>render 'new'

由於兩個正在尋找要創建一個業務,使用兩個獨立的控制器方法是毫無意義的,我假設有一個Rails-y方法來解決這個問題。檢測我的兩個表單中的哪一個做了這個職位的好方法是什麼?

回答

0

在企業中使用request.original_fullpath#創建或嵌入特定於使用hidden_​​field顯示錶單的頁面(控制器)的值。

0

您可以將隱藏的字段放在將存儲表單類型的表單中。請記住,如果它是一個新用戶,那麼在創建業務之前,假設模型已關聯,您將必須創建用戶。