2013-07-16 25 views
0

我注意到jquery.com使用/ nameOfMethod作爲那裏的路由約定。使用這種方式來引用以前的堆棧問題的源代碼我輸錯www.jquery.com/next - >www.jquery.com/nex我發現令人驚訝的是,路由足夠聰明,可以看到名稱的相似性並正確(可能不正確)路由我。我對後端編程超級新手。我正在完成我的第一個Ruby on Rails項目。該項目讓我知道了諸如關聯,CRUD,MVC以及我從未知道的大量事情。我越來越意識到網絡的工作原理,這是知道路由是有趣的我。智能路由方法

Ruby on Rails爲例,如何實現這種智能路由?我可以通過哪些詞彙瞭解有關此過程的更多信息?後端編程的兔洞有多困難或深入這種互動?是否有什麼能夠勝過這種互動,更具優勢,你可以建議?

回答

1

所以,在routes.rb你會做這樣的事情

match '/:itemname', to items#show

在項目控制器,那麼你就必須

def show 
    item = Item.where("itemname like ?", "#{params[:itemname]}%").to_sql 
    redirect_to item 
end 

在本質上你

  1. 將root_url/name_of_an_item映射到您的控制器中的動作 這
  2. 形成一個SQL查詢,需要一個通配符後ITEMNAME是 用於
  3. 將用戶重定向到該項目的路線 問題。

我的例子可能在語法上不正確,但這就是它背後的邏輯。 打開http://guides.rubyonrails.org/index.html並閱讀路由和查詢接口指南。一切都很好,但這兩個特別可能有助於瞭解更多關於這種事情。