我正在使用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
。
答案 0 :(得分:1)
我不确定@glossary
行应该做什么,但你需要在那里引用self
或Api::V1::Glossary
。
class Api::V1::Glossary < ActiveRecord::Base
table_name = "glossary"
@glossary = self.all
end
答案 1 :(得分:0)
根据RailsGuides,您必须使用self.table_name = 'glossary'
设置表名,但我不确定在给定的示例中是否足够。