我有一個產品控制器,讓我來訪問演出方法在通常的鐵軌方式如何在rails中創建哈希URL?
product GET /products/:id(.:format) products#show
現在,我想對每一個產品,它可以在根訪問的唯一的哈希網址路徑例如 mydomain.com/24fe3455g
這樣做的最好方法是什麼?
最佳 菲利普
我有一個產品控制器,讓我來訪問演出方法在通常的鐵軌方式如何在rails中創建哈希URL?
product GET /products/:id(.:format) products#show
現在,我想對每一個產品,它可以在根訪問的唯一的哈希網址路徑例如 mydomain.com/24fe3455g
這樣做的最好方法是什麼?
最佳 菲利普
首先,您需要在您的routes.rb
中定義匹配路線。既然它是一種「跌倒」,你通常會把它放在路線的盡頭。看看導遊如何定義:http://guides.rubyonrails.org/routing.html
,如果你想在你的應用程序而不是IDS始終使用該散列式的URL,你也將實現to_param
和self.from_param
方法模型:http://apidock.com/rails/ActiveRecord/Base/to_param
如果你喜歡一些工具支持,你也可以使用像friendly_id這樣的寶石:http://rubydoc.info/github/norman/friendly_id/master/file/Guide.rdoc
,你可以在數據庫中存儲的md5
每一行 - 計算這個MD5爲id+timestamp
例如(如連接的字符串),然後讓喜歡你的路線:
product GET /products/:hash(.:format) products#show
你也可以使用UUID
進行代表獨特ID
推薦的寶石很好,但我期望有很多產品。所以它可能會發生,我會有多個具有相同名稱的項目,所以這會限制使用這個gem .. – dc10 2012-07-30 16:54:47