当前位置:  开发笔记 > 后端 > 正文

RoR:嵌套命名空间路由,未定义方法错误

如何解决《RoR:嵌套命名空间路由,未定义方法错误》经验,为你挑选了1个好方法。

我正在研究一个新的rails应用程序的管理部分,我正在尝试设置一些路线来"正确"做事.我有以下控制器:

class Admin::BlogsController < ApplicationController
  def index
    @blogs = Blog.find(:all)
  end

  def show
    @blog = Blog.find(params[:id])
  end

  ...
end

在routes.rb中:

map.namespace :admin do |admin|
  admin.resources :blogs
end

在views/admin/blogs/index.html.erb中:

<% for blog in @blogs %>
  <%= link_to 'Delete', admin_blog(blog), :method => :delete
<% end %>

我已经确认路线存在:

admin_blogs GET /admin/blogs {:action => "index", :controller=>"admin/blogs"}
admin_blog  GET /admin/blogs/:id {:action => "show", :controller => "admin/blogs"}
....

但是当我尝试查看http:// localhost:3000/admin/blogs时,我收到此错误:

undefined method 'admin_blog' for #

我哪里出错了,为什么?



1> John Topley..:

您的删除链接应以_path结尾:

<%= link_to 'Delete', admin_blog_path(blog), :method => :delete %>

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有