2014-02-21 6 views
0

我有兩種形式,兩種都使用信用卡處理,意思是說,他們都有相同的結賬流程。這種結帳形式是這兩種形式的一部分。有條件的表單發佈URL的simple_form_for

所以我想實現是有simple_form_for標籤像下面

<%= simple_form_for :order, url: task_path(params[:task_id], params[:id] if condition else something_else) do |f| %> 

是否有可能在Rails中實現這個條件POST URL聲明。

+0

當你嘗試它時它工作嗎? – emaillenin

回答

2

先計算出URL,調用的form_for前:

<% 
    if <some condition> 
    url = "/some/url" 
    else 
    url = "/another/url" 
    end 
%> 
<%= simple_form_for :order, url: url do |f| %> 

這是更容易閱讀和理解/變化。

更新:因爲form_for已經有兩個url選項,取決於對象是否已被保存(即.new_record的值?),那麼你可能需要讓你的if-else邏輯考慮到這一點。

+0

如果有條件,我們可以使用路線嗎?怎麼樣傳遞參數? – Harish

+0

對你的答案做了一些編輯。 – Harish

+0

「使用路線」是什麼意思?你可以在你的視圖/控制器中隨時查看參數。 –