使用自定义主ID在rails3中进行路由

时间:2010-09-22 11:29:09

标签: ruby routing ruby-on-rails-3

我有自定义主键的模型:

document.rb

class Document < ActiveRecord::Base
  set_primary_key "token"
end

routes.rb中:

MyApp::Application.routes.draw do
  resources :documents, :only => [:index, :show, :create]
end

当我创建新文档时,我收到错误:

No route matches {:controller=>"documents", :id=>#<Document id: "b430cfe73aaa5235fbfe", token: "b430cfe73aaa...

当我切换到使用:id作为主键时,一切正常。但我需要使用令牌。

我使用:rails 3.0.0和ruby 1.8.7(2010-04-19 patchlevel 253)[i686-linux],MBARI 0x8770,Ruby Enterprise Edition 2010.02

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

尝试添加到document.rb

def to_param
 token
end