Ruby on Rails没有连接到Table

时间:2014-02-21 06:19:02

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

我正在使用Ruby on Rails 4.0.0。

over app / controllers / api / v1 / glossary_controller.rb:

class Api::V1::GlossaryController < ApplicationController
    def index
        render json: Glossary.all
    end
end

在app / models / api / v1 / glossary.rb中:

class Api::V1::Glossary < ActiveRecord::Base
    table_name "glossary"

    @glossary = self.all
end

以及app / models / api / v1.rb

module Api::V1
  def self.table_name_prefix
    'api_v1_'
  end
end

路线如下:

Feta::Application.routes.draw do

  namespace :api, defaults: {format: 'json'} do
    namespace :v1 do
        get "glossary" => "glossary#index"
    end
  end

end

DB表名为“api_v1_glossary”。

错误:未定义的常量Api :: V1 :: Glossary :: Glossary.rb中的词汇表在模型中定义@glossary ...

编辑:我已经从微薄更新,但是使用词汇表而不是词汇表的问题仍然存在。 @glossay.to_yaml什么都不返回。 @glossary返回nil

2 个答案:

答案 0 :(得分:1)

我不确定@glossary行应该做什么,但你需要在那里引用selfApi::V1::Glossary

class Api::V1::Glossary < ActiveRecord::Base
    table_name = "glossary"

    @glossary = self.all
end

答案 1 :(得分:0)

根据RailsGuides,您必须使用self.table_name = 'glossary'设置表名,但我不确定在给定的示例中是否足够。