无法从操作中访问模型数据

时间:2015-06-04 10:05:38

标签: ruby-on-rails ruby-on-rails-4

我有一个控制器:

class Api::V1::Account::SharingController < ApplicationController
  def show
    sharings = Account::Sharing.all
    render json: sharings, status: :ok
  end
end

模特:

path: models/account/sharing.rb
class Account::Sharing < ActiveRecord::Base
end

路线:

scope '/account' do
  resource :sharing, controller: 'account.sharing', path: 'sharings'
end

我收到此错误:uninitialized constant Api::V1::Account::SharingController::Account,这是因为sharings = Account::Sharing.all

在rails控制台中,我可以使用和获取数据:Account::Sharing.all

为什么会这样?

更新

将文件夹更改为accounts,现在我的SharingController位于accounts/sharing_controller.rb并且正在运行。

2 个答案:

答案 0 :(得分:1)

问题是在控制器中它会在控制器的命名空间中搜索Account::Sharing。尝试使用::作为前缀,告诉它从“root”命名空间中搜索,如下所示:

::Account::Sharing.all

答案 1 :(得分:0)

yuo需要定义这样的路线。

scope '/api' do
  scope '/v1' do
    scope '/accounts' do
      resource :sharing, controller: 'account.sharing', path: 'sharings'
    end
  end
end