Ruby on rails 路由错误-Rails 3
当我尝试访问/messages/new时,我的应用程序出现以下错误:Ruby on rails 路由错误-Rails 3,ruby-on-rails,ruby-on-rails-3.1,routing,Ruby On Rails,Ruby On Rails 3.1,Routing,当我尝试访问/messages/new时,我的应用程序出现以下错误: No route matches [GET] "/messages/new" 如果尝试将/messages/new路由添加到config.rb,则会出现以下错误: No route matches {:controller=>"messages"} 该应用程序本身就像Gumtree.com,用户来这里创建帖子(比如卖我的车),人们会回复我发送给他们的消息(通过简单的Pvt消息插件) 如果您对此有任何见解,我们将不胜感
No route matches [GET] "/messages/new"
如果尝试将/messages/new路由添加到config.rb,则会出现以下错误:
No route matches {:controller=>"messages"}
该应用程序本身就像Gumtree.com,用户来这里创建帖子(比如卖我的车),人们会回复我发送给他们的消息(通过简单的Pvt消息插件)
如果您对此有任何见解,我们将不胜感激
谢谢
费萨尔
ROUTES.RB
Mysalary::Application.routes.draw do
resources :users do
resources :messages do
collection do
post :delete_selected
end
end
end
resources :users
resources :profiles
resources :pages
resources :posts
resources :messages
get "pages/home"
get "pages/about"
get "pages/legal"
get "pages/feedback"
root :to => 'posts#new'
end
消息>新视图
<% form_for @message, :url => user_messages_path(@user) do |f| %>
<p>
To:<br />
<%= f.text_field :to %>
<%= error_message_on @message, :to %>
</p>
<p>
Subject:<br />
<%= f.text_field :subject %>
<%= error_message_on @message, :subject %>
</p>
<p>
Message<br />
<%= f.text_area :body %>
<%= error_message_on @message, :body %>
</p>
<p>
<%= submit_tag "Send" %>
</p>
<% end %>
将路由文件替换为以下内容:您正在用户内部定义资源消息,并且还定义了两次 Mysalary::Application.routes.draw do
resources :messages do
collection do
post :delete_selected
end
end
resources :users
resources :profiles
resources :pages
resources :posts
get "pages/home"
get "pages/about"
get "pages/legal"
get "pages/feedback"
root :to => 'posts#new'
end
试试看…你怎么会在用户中嵌套消息?rake routes的输出是什么?
为什么你会在顶层为用户提供两次资源?@JosephLeBrech这是通过scaffold生成的默认设置…@klump请查看上面附加的rake routes输出。。
class Message < ActiveRecord::Base
is_private_message
attr_accessor :to
end
delete_selected_user_messages POST /users/:user_id/messages/delete_selected(.:format) {:action=>"delete_selected", :controller=>"messages"}
user_messages GET /users/:user_id/messages(.:format) {:action=>"index", :controller=>"messages"}
POST /users/:user_id/messages(.:format) {:action=>"create", :controller=>"messages"}
new_user_message GET /users/:user_id/messages/new(.:format) {:action=>"new", :controller=>"messages"}
edit_user_message GET /users/:user_id/messages/:id/edit(.:format) {:action=>"edit", :controller=>"messages"}
user_message GET /users/:user_id/messages/:id(.:format) {:action=>"show", :controller=>"messages"}
PUT /users/:user_id/messages/:id(.:format) {:action=>"update", :controller=>"messages"}
DELETE /users/:user_id/messages/:id(.:format) {:action=>"destroy", :controller=>"messages"}
messages GET /messages(.:format) {:action=>"index", :controller=>"messages"}
POST /messages(.:format) {:action=>"create", :controller=>"messages"}
new_message GET /messages/new(.:format) {:action=>"new", :controller=>"messages"}
edit_message GET /messages/:id/edit(.:format) {:action=>"edit", :controller=>"messages"}
message GET /messages/:id(.:format) {:action=>"show", :controller=>"messages"}
PUT /messages/:id(.:format) {:action=>"update", :controller=>"messages"}
DELETE /messages/:id(.:format) {:action=>"destroy", :controller=>"messages"}
pages_home GET /pages/home(.:format) {:action=>"home", :controller=>"pages"}
pages_about GET /pages/about(.:format) {:action=>"about", :controller=>"pages"}
pages_legal GET /pages/legal(.:format) {:action=>"legal", :controller=>"pages"}
pages_feedback GET /pages/feedback(.:format) {:action=>"feedback", :controller=>"pages"}
messages_new GET /messages/new(.:format) {:action=>"new", :controller=>"messages"}
root
resources :messages do
collection do
post :delete_selected
end
end
resources :users
resources :profiles
resources :pages
resources :posts
get "pages/home"
get "pages/about"
get "pages/legal"
get "pages/feedback"
root :to => 'posts#new'
end