2010-05-18 3 views
0

Je pense que c'est une question facile. J'utilise ce Flash Document Reader utile appelé FlexPaper. Je l'ai intégré dans une de mes pages Afficher. Mais quand je clique sur le lien sur leur barre d'outils pour afficher le document dans un nouveau navigateur, il souligne le lien suivant:Rails route réécriture

http://example.com/intels/FlexPaperViewer.swf?ZoomTime=0.5&FitPageOnLoad=false&PrintEnabled=false&SwfFile=%2FPaper.swf

qui ne fonctionne pas, je reçois l'erreur suivante:

ActiveRecord::RecordNotFound in IntelsController#show

Couldn't find Intel with ID=FlexPaperViewer

mais si je retire les « Intels » du chemin si l'URL ressemble:

http://example.com/FlexPaperViewer.swf?ZoomTime=0.5&FitPageOnLoad=false&PrintEnabled=false&SwfFile=%2FPaper.swf

Il fonctionne très bien.

Ma question est quelle est la meilleure façon de gérer cela? Pouvez-vous écrire un itinéraire qui réécrit une URL commençant par intels/FlexPaperViewer.swf et supprimant le préfixe intels? À quoi cela ressemblerait-il?

Existe-t-il une meilleure option?

Répondre

0

Juat une pensée, que diriez-vous de placer le FlexPaperViewer.swf dans le dossier public/intels?

Ainsi, la structure du répertoire sera

<project-directory>/public/intels/FlexPaperViewer.swf 

Faire cela fera le lien correct. Il semble être plus facile de le faire de cette façon. J'espère que ça aide.

EDIT

Une autre alternative sera de voir comment le lien a été généré, peut-être il y a un paramètre que vous pouvez définir lorsque vous incorporez le FlexPaper.

Je ne suis pas au courant de toute modification d'itinéraire qui peut faire ce que vous voulez. Peut-être que quelqu'un d'autre peut aider à ce sujet.

+0

Une pensée intéressante, je vais essayer cette première chose ce matin. – Jonathan

+0

Cela ne fonctionne pas - le routage des rails capture d'abord l'URL et génère une erreur. J'ai mis à jour la question avec l'erreur – Jonathan