[英]NoMethodError (undefined method `all' for Admin::Notification:Class)
I am getting this error when I am visiting this URL admin/notifications
访问此URL
admin/notifications
时出现此错误
I have moved controller and routes under admin scope 我已将控制器和路由移至管理范围内
NoMethodError (undefined method `all' for Admin::Notification:Class)
NoMethodError(Admin :: Notification:Class的未定义方法“ all”)
Notifications controller 通知控制器
# app/controllers/admin/notifications_controller.rb
module Admin
class NotificationsController < AdminController
def index
@notifications = Notification.all
end
end
end
Notification 通知
# app/models/notification.rb
class Notification < ActiveRecord::Base
has_many :preferences
end
routes.rb 的routes.rb
MyApp::Application.routes.draw do
namespace :admin do
resources :notifications
end
end
Routes 路线
admin_notifications GET /admin/notifications(.:format) admin/notifications#index
POST /admin/notifications(.:format) admin/notifications#create
new_admin_notification GET /admin/notifications/new(.:format) admin/notifications#new
edit_admin_notification GET /admin/notifications/:id/edit(.:format) admin/notifications#edit
admin_notification GET /admin/notifications/:id(.:format) admin/notifications#show
PUT /admin/notifications/:id(.:format) admin/notifications#update
DELETE /admin/notifications/:id(.:format) admin/notifications#destroy
Thanks 谢谢
Try ::Notification.all
试试
::Notification.all
It should works. 它应该工作。
You are inside Admin module. 您在管理模块中。
Notification.all
is searching for the Notification
inside module named Admin
Notification.all
正在内部名为Admin
模块中搜索Notification
::Notification
indicate that Notification
model is in global Module. ::Notification
表示Notification
模型在全局模块中。 So it should get the model and it should solved your error. 因此,它应该获得模型并应该解决您的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.