2010-09-22 4 views
3

je modèle avec une clé primaire personnalisée:routage dans rails3 avec id primaire personnalisée

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 

Lorsque je crée de nouveaux documents, i obtenir l'erreur:

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

W quand je passe à utiliser: id comme une clé primaire, tout est OK. Mais j'ai besoin d'utiliser un jeton.

J'utilise: rails 3.0.0 et Ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2010,02

Merci pour l'aide.

Répondre

3

essayez d'ajouter à document.rb

def to_param 
token 
end 
+0

Il fonctionne! Merci Yannis. – boblin

Questions connexes