2016-09-02 82 views
0

我想告訴form_for使用不同的控制器沒有影響的行動。Rails form_for唯一更改控制器

我知道如何更改URL像

form_for @car, url: { controller: 'admin/cars' } 

但是這也將改變動作。

有什麼辦法可以使用不同的控制器與form_for而不影響動作的自動選擇?

回答

0

你也可以指定這樣的操作,並可能通過控制器名稱作爲變量:

form_for @car, url: { controller: @controller_name, action: "your_action" } 
+0

當然。但我的控制器被命名爲'汽車'而不是管理員,我不想指定一個操作。 'admin/cars'意思是「名字空間管理員的控制器汽車」。然而,我的問題是:如何告訴'form_for'繼續選擇正確的操作,但使用不同的控制器。 – idmean

+0

你可以在你的控制器中爲控制器名稱設置一個變量來設置它?修改我的回答以反映這一點。 – Raoot

+0

不,不。控制器的名稱始終相同,我必須提供。但是這個動作需要通過form_for來選擇。 – idmean

0

您也可以在路線選擇的行動,也許這是對你有幫助;

form_for @car, url: { cars_path } 

在您的路線文件;

post '/cars', to: 'cars#action_whatever_you_want'