Я не хочу делать перенаправление чувак! Я просто хочу, чтобы приложение понимало мой слаг и загружало соответствующую модель. как в facebook.com и quora.com

ользую Rails 3. И мне интересно, как передать параметры в некоторые блоки вroutes.rb.

Что я пытаюсь сделать, это сделатьcatch all маршрут, этот чек отslugs база данных название модели по идентификатору.

После полученияmodel name Я приумножаю его, чтобы получить имя контроллера.

match '/:id', :controller => proc { Slug.find_by_iid(params[:id]).model.pluralize }, :action => :show

Таблицаslugs

model    iid
-----    -----
post     4d2c7de0c5abe7f8a9000007
item     4d2c7de0c5abe7f809000004

Когда я пытаюсь получить доступ к некоторым страницам, как/4d2c7de0c5abe7f8a9000007 Я получил эту ошибку:

Started GET "/4d2c7de0c5abe7f8a9000007" for
127.0.0.1 at 2011-01-12 00:04:31 +0200

ActionController::RoutingError (wrong constant name #<Proc:0x0000010337c310@):

Rendered /Users/amr/.rvm/gems/ruby-1.9.2-p136@rails3/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)

Ожидается, что он будет указывать на сообщения # view с iid: 4d2c7de0c5abe7f8a9000007

Ответы на вопрос(2)

Ваш ответ на вопрос