奇怪的是,当我将“resources:blogs”包含到我的routes.rb时,我尝试触及的任何其他路径都出现以下错误:
No route matches {:action=>"show", :controller=>"blogs"}
我唯一没有得到此错误的路径是“/blogs/:id(.:format)”本身。
Rake路线(“显示”第5行“博客”):
blogs GET /blogs(.:format) blogs#index
POST /blogs(.:format) blogs#create
new_blog GET /blogs/new(.:format) blogs#new
edit_blog GET /blogs/:id/edit(.:format) blogs#edit
blog GET /blogs/:id(.:format) blogs#show
PUT /blogs/:id(.:format) blogs#update
DELETE /blogs/:id(.:format) blogs#destroy
root / pages#home
home /home(.:format) pages#home
products /products(.:format) pages#products
services /services(.:format) pages#services
research /research(.:format) pages#research
/blog(.:format) pages#blog
contact /contact(.:format) pages#contact
另一方面,当在控制台中尝试时,“/ products”(例如)中没有这样的错误,其中在浏览器中返回“无路由匹配”错误:
1.9.3p327 :010 > Rails.application.routes.recognize_path "/products"
=> {:controller=>"pages", :action=>"products"}
1.9.3p327 :011 > Rails.application.routes.recognize_path "/blogs/1"
=> {:action=>"show", :controller=>"blogs", :id=>"1"}
有什么想法吗?
更新
这是我的blogs_controller.rb:
class BlogsController < ApplicationController
def show
@blog = Blog.find(params[:id])
end
def new
end
end
和我的博客show.html.erb:
<%= @blog.title %>, <%= @blog.description %>
到目前为止,这是我为测试我的Blog模型而开发的所有内容。
答案 0 :(得分:1)
最有可能的是,你有类似
的东西<%= link_to "Blogs", blog_path =>
布局模板中的。如果是,请将其更正为<%= link_to "Blogs", blogs_path =>