2014-12-07 176 views
1

我是軌道上ruby世界的新手,並試圖找出路由如何工作。我讀了一些關於它的文章,但有些東西我不清楚。
如果我有一個網頁,一條消息發送形式,並嘗試通過郵寄發送的數據,我要設置路由SG是這樣的:
Ruby on rails post請求路由

post '/send', to: 'message#send' 

這個它工作正常。但是如果我有另一個表單的另一個頁面,我想將它鏈接到另一個控制器/操作(發佈請求)。它如何使這兩個職位之間的分歧?

+0

只需將它發佈到另一個端點/路由。路線的存在是爲了將uri與控制器/動作相匹配。所以,只需創建另一條您需要的操作路線。 – Doon 2014-12-07 22:35:59

回答

0

您可以通過一些特殊的參數,並檢查它的控制器中的值,例如:

class MessageController < ApplicationController 
    def send 
    if params[:kind] == 'some_value' 
     do_one_thing 
    else 
     do_anoter_thing 
    end 
    end 
end 

但在這種情況下,你的動作會變得胖又醜。因此,我建議您以自然的方式創建新動作並分開邏輯:

post '/my_send_from_one_place', to: 'message#my_send_from_one_place' 
post '/my_send_from_secong_place', to: 'message#my_send_from_secong_place' 
+0

感謝您的回覆,現在幾乎清楚了,還有一個問題,第一個參數'/ my_send_from_second_place'是表單的路徑? – Bakayaro 2014-12-20 12:55:07