我从第<%= link_to "Ask User Out", askout_user_message_path(@user), :class => "button" %>
行收到无路由匹配错误。
这在我添加宝石之前曾经工作但是现在它停止了工作。我试着在收藏中移动,但我没有运气,因为那是以前的地方。
路线:
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
旧路线:
resources :users do |user|
resources :messages do
collection do
post 'delete_multiple'
get 'askout', action: 'askout'
get 'reply', action: 'reply'
end
end
end
我添加了邮箱宝石,我的路线发生了变化。
答案 0 :(得分:6)
你最好这样做:
#config/routes.rb
resources :users do
resources :messages do
member do
post :new
get :askout
end
end
collection do
get :trashbin
post :empty_trash
end
end
这会给你:
users/1/messages/5/askout
我认为你想要的是什么:
#config/routes.rb
resources :users do
resources :messages do
post :new
collection do
get :askout
end
end
collection do
get :trashbin
post :empty_trash
end
end
这会给你:
users/2/messages/askout
路径助手将在rake routes
视图中确定 - 您应该查看它以了解您的路线被调用(允许您相应地编写)