我正在使用Ruby on rails 2.3.4,我想有一個鏈接,單擊時執行一個動作。鏈接重定向到「顯示」的行動,而不是routes.rb指示
的routes.rb中文件的相關部分看起來是這樣的:
map.search_filter_relevance "/anuncios/buscar", :controller => 'announcements', :action => 'search_filter_relevance'
我的看法(它是模型的索引頁)看起來是這樣的:
<%= link_to 'MÁS RELEVANTES', search_filter_relevance_path %>
我的控制器看起來像這樣:
def search_filter_relevance
raise params.inspect
unless params[:announcements].nil? or params[:announcements].empty?
@announcements = params[:announcements].order_by_featured
end
end
的問題是,當我點擊我得到一個錯誤的鏈接由於一些空值顯示操作!我根本沒有訪問該操作...爲什麼執行它?
編輯:
這裏是路輸出:
search_filter_relevance_announcements GET /anuncios/search_filter_relevance(.:format) {:controller=>"announcements", :action=>"search_filter_relevance"}
announcements GET /anuncios(.:format) {:controller=>"announcements", :action=>"index"}
POST /anuncios(.:format) {:controller=>"announcements", :action=>"create"}
new_announcement GET /anuncios/new(.:format) {:controller=>"announcements", :action=>"new"}
edit_announcement GET /anuncios/:id/edit(.:format) {:controller=>"announcements", :action=>"edit"}
announcement GET /anuncios/:id(.:format) {:controller=>"announcements", :action=>"show"}
PUT /anuncios/:id(.:format) {:controller=>"announcements", :action=>"update"}
DELETE /anuncios/:id(.:format) {:controller=>"announcements", :action=>"destroy"}
search /anuncios/buscar {:controller=>"announcements", :action=>"search"}
power_search /anuncios/buscar {:controller=>"announcements", :action=>"power_search"}
你可以發佈你所得到的錯誤的輸出? – theIV 2010-05-20 17:08:03
它就是這樣。謝謝。 – 2010-05-20 17:13:25
你有沒有其他路線以「/ anuncios」開頭?如果你這樣做,確保「/ anuncios/buscar」被定義爲高於,例如'「/ anuncios /:id」' – Voyta 2010-05-20 17:56:02