2010-02-04 50 views
0
#routes.rb 
map.connect '/articles/new', :controller => 'articles', :action => 'new' 
map.connect '/articles/:author_name', :controller => 'articles', :action => 'show' 
map.connect '/articles/:author_name/edit', :controller => 'articles', :action => 'edit' 

map.resources :articles, :comments 

當我到/ articles/test並單擊delete時,它什麼都不做。我猜我的自定義路線正在阻止它,我該如何解決它?在Rails中使用自定義路由時,銷燬方法不起作用

謝謝

+0

你是如何設置測試路線的,你的'link_to' /'button_to'代碼啓動了刪除看起來像什麼? – 2010-02-04 17:11:56

+0

我正在使用什麼腳手架。我不這麼認爲,那該死的路線。 – 2010-02-04 17:43:16

+0

從您發佈的代碼中,您沒有/ articles/test路徑。 – 2010-02-05 09:46:57

回答

0

我想你想重新考慮你在這裏做什麼。

我會依靠路徑前綴而不是定義重疊路線:

map.resources :articles, :path_prefix => '/articles/:author_name', :name_prefix => 'article_' 

那還是看你是否能定義你的資源是這樣的:

map.resources :articles, :belongs_to => :author 

我知道你可以做到這一點a:has_many,你會得到你想要的命名空間,但對belongs_to沒有正面的評價。

0

我之所以這麼做,是因爲我無法運用參數。或者更具體地說,Rails不會找到它。

#Articles controller 
@article = Article.find_by_name(params[:name]) 

#Article model 
def to_param 
    name 
end def to_param 
name 

我環顧四周,他們都說要做到這一點,但它不會爲我工作的某些原因。我收到Couldn't find Article with ID=test錯誤。

相關問題