Ruby on rails 未定义的方法`表名称';你的意思是什么?表\u名称\u前缀
我正在使用构建一个API。 我用于正确显示序列化数组Ruby on rails 未定义的方法`表名称';你的意思是什么?表\u名称\u前缀,ruby-on-rails,ruby,api,Ruby On Rails,Ruby,Api,我正在使用构建一个API。 我用于正确显示序列化数组 # app/controllers/api/v1/posts_controller.rb class Api::V1::PostsController < Api::V1::BaseController include ActiveHashRelation def index posts = apply_filters(Post::Post.all, params) render json: posts, ea
# app/controllers/api/v1/posts_controller.rb
class Api::V1::PostsController < Api::V1::BaseController
include ActiveHashRelation
def index
posts = apply_filters(Post::Post.all, params)
render json: posts, each_serializer: Api::V1::PostSerializer
end
end
我认为这是因为ActiveHashrelation,因为当我写
posts=Post::Post.all
时,它工作了。但是我不能过滤数组。有一个名为Post
的模型和一个名为Post
的模块会引起麻烦。如果你能给他们起一个稍微不同的名字,这将有助于避免混淆Post::Post
和::Post
。很可能您正在使用Post
某个您打算使用Post::Post
的地方。我会这样做。非常感谢。
# app/models/post/post.rb
class Post::Post < ActiveRecord::Base
validates_presence_of :body
end
# app/models/post.rb
module Post
def self.table_name_prefix
'post_'
end
end