gpt4 book ai didi

ruby-on-rails - 未初始化的常量—— Controller 内的模型

转载 作者:行者123 更新时间:2023-12-04 03:33:16 26 4
gpt4 key购买 nike

我有一个应用程序,其中一个俱乐部有_many 个位置。俱乐部及其位置只能在管理员命名空间内进行编辑。

我正在尝试将球杆预加载到 Controller 中,以便所有操作仅处理该球杆。

路由是嵌套的;但是,在位置 Controller 中,它找不到 Club 模型。我做错了什么?

routes.rb

namespace :admin do
resources :clubs do
resources :locations
end
end

club.rb

class Club < ActiveRecord::Base
belongs_to :membership
has_many :users
has_many :locations
#accepts_nested_attributes_for :locations
end

admin/locations_controller.rb

class Admin::LocationsController < ApplicationController
before_filter :load_club

protected

def load_club
@club = Club.find(params[:club_id])
end
end

另外,最后:我的路线有什么问题,它没有在 admin/clubs/locations 中寻找位置 Controller ?我不确定这是否是问题的一部分。

来自 rake 路线

    admin_club_locations POST   /admin/clubs/:club_id/locations(.:format)          admin/locations#create
new_admin_club_location GET /admin/clubs/:club_id/locations/new(.:format) admin/locations#new
edit_admin_club_location GET /admin/clubs/:club_id/locations/:id/edit(.:format) admin/locations#edit
admin_club_location PUT /admin/clubs/:club_id/locations/:id(.:format) admin/locations#update
DELETE /admin/clubs/:club_id/locations/:id(.:format) admin/locations#destroy

最佳答案

它可能会在当前 Admin 命名空间中查找 Club 模型。你可以试试:

def load_club
@club = ::Club.find(params[:club_id])
end

关于ruby-on-rails - 未初始化的常量—— Controller 内的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com