ActionController::UrlGenerationError: Aucun itinéraire matchs
Je reçois un pas de route correspond à l'erreur de la ligne de <%= link_to "Ask User Out", askout_user_message_path(@user), :class => "button" %>
.
Cette habitude de travailler avant, j'ai ajouté un bijou, mais maintenant il a cessé de travailler. J'ai essayé de déplacer sous la collection, mais je n'ai pas de chance avec ça comme c'est là où il l'habitude d'être.
Routes:
resources :users do |user|
resources :messages do
member do
post :new
get 'askout', action: 'askout'
end
end
collection do
get :trashbin
post :empty_trash
end
end
resources :conversations do
member do
post :reply
post :trash
post :untrash
end
end
Anciennes Voies:
resources :users do |user|
resources :messages do
collection do
post 'delete_multiple'
get 'askout', action: 'askout'
get 'reply', action: 'reply'
end
end
end
Mes itinéraires changé comme je l'ai ajouté mailboxer gem.
Cette imbriquée route est en attente d'un id de message car vous avez défini askout dans le membre de la ressource :des messages, l'utilisation de l'aide comme ceci :
askout_user_message_path(@user, message)
où le message est le Message trouvé avec params[:id] --- Si vous ne voulez pas qu'il a besoin d'un id de message, le mettre dans la collection de bloc et l'utilisation askout_user_messages_path(@user)
(pluriel sur les messages)
OriginalL'auteur pwz2000 | 2014-02-28
Vous devez vous connecter pour publier un commentaire.
Vous seriez mieux de faire ceci:
Cela vous donnera:
Ce que je pense que vous voulez:
Cela vous donnera:
Le chemin helper sera déterminée dans le
rake routes
vue -- vous devriez regarder pour avoir une idée de ce que votre route est appelée (vous permettant d'écrire en conséquence)courses/:id/features
ensuite, il devrait être de la compétence des etats, si justecourses/features
puis la collection. Suis-je bien comprendre ?collection =
courses/features
, membre =courses/:id/features
, "none" =courses/:course_id/features
Membre =
courses/:id/features
, ce genreID
a tobe passé. si il est imbriqué routes, comme dans votre réponse.Imbriqués les ressources créera automatiquement une série de
member
/collection
itinéraires pour le contrôleur, vous faites référence. Par exempleresources :x do resources :y end
entraîneracollection x/:x_id/y
. Si vous êtes à la configurer manuellement unemember
route pour votre imbriquée de ressources, vous devez définir laid
pour votre imbriquée à l'enregistrement, et:parent_id
pour le parent. Si vous écrivez une question, je vais écrire une réponse détaillée pour vous si vous avez besoin d'Je comprends, merci !
OriginalL'auteur Richard Peck