2012-07-30 74 views
1

我有一個產品控制器,讓我來訪問演出方法在通常的鐵軌方式如何在rails中創建哈希URL?

product GET /products/:id(.:format)     products#show 

現在,我想對每一個產品,它可以在根訪問的唯一的哈希網址路徑例如 mydomain.com/24fe3455g

這樣做的最好方法是什麼?

最佳 菲利普

回答

0

首先,您需要在您的routes.rb中定義匹配路線。既然它是一種「跌倒」,你通常會把它放在路線的盡頭。看看導遊如何定義:http://guides.rubyonrails.org/routing.html

,如果你想在你的應用程序而不是IDS始終使用該散列式的URL,你也將實現to_paramself.from_param方法模型:http://apidock.com/rails/ActiveRecord/Base/to_param

如果你喜歡一些工具支持,你也可以使用像friendly_id這樣的寶石:http://rubydoc.info/github/norman/friendly_id/master/file/Guide.rdoc

+0

推薦的寶石很好,但我期望有很多產品。所以它可能會發生,我會有多個具有相同名稱的項目,所以這會限制使用這個gem .. – dc10 2012-07-30 16:54:47

0

,你可以在數據庫中存儲的md5每一行 - 計算這個MD5爲id+timestamp例如(如連接的字符串),然後讓喜歡你的路線:

product GET /products/:hash(.:format)     products#show 

你也可以使用UUID進行代表獨特ID