2010-09-09 74 views
0

假設我已經指出網絡是一種資源。我正在添加一個新操作,向控制器說「submit_question_for_network」。爲什麼我需要手動定義手動操作,有時候不需要?

然而,當我添加了動作控制器,它不工作

# does not work 
/network/submit_question_for_network 

# need to add to :collection 
map.resources :network, :collection => {:submit_question_for_network => :post,:submit_new_or_join=>:post} 

但是,我清楚地記得,它的工作原理,而無需有時做任何事情。到底是怎麼回事?

# it is trying to do "show", instead of calling the action 
Processing NetworkController#show (for 127.0.0.1 at 2010-09-09 00:07:42) [GET] 
    Parameters: {"id"=>"v4test"} 

回答

1

您已將兩個收集路線定義爲發佈請求,但是您正在發出獲取請求。

如果您想要創建獲取請求,請重新定義路由。另一方面,如果您想發佈表單,請將:method =>:post添加到表單助手方法中。

相關問題