В моем приложении Rails, у меня есть следующие коды:Rails to_json включают метод имеет арг
MemAccount
режим
class MemAccount < ActiveRecord::Base
attr_accessor :current_mem
def followstatus
SntFollow.where({:from_id=> current_mem.id}).pluck('to_id').include? id
end
end
Контроллер:
def search
_items = MemAccount.select(:avatar,:nc,:id,:followers).where("nc like '%#{params[:search]}%'")
render json:{
:items => _items
}.to_json(:methods=>["followstatus"])
end
Как я могу установить экземпляр Attr MemAccount current_mem
для списков mem, а не один mem.I хочу найти лучший способ реализовать это, спасибо!
быть честным, я хочу написать так:
class MemAccount < ActiveRecord::Base
def followstatus me
SntFollow.where({:from_id=> me.id}).pluck('to_id').include? id
end
end
def search
_items = MemAccount.select(:avatar,:nc,:id,:followers).where("nc like '%#{params[:search]}%'")
render json:{
:items => _items
}.to_json(:methods=>["followstatus(#{current_mem})"])
end
Но результат, как:
{"items":[{"avatar":"tx.png","nc":"","id":1,"followers":1}...]}
Я cant't найти Аттрибут followstatus
, почему ??
Это не будет работать, потому что 'value' от сессии, поэтому, если многие пользователи посещают это, какое значение должно быть, сеанс отличается, – HXH
, поэтому, пожалуйста, см. дополнение к моему вопросу, я хочу реализовать '.to_json (: methods => [" followstatus (# {current_mem}) "])' – HXH
Вы не проходите мимо g любой current_user для модели/экземпляра. Вы можете использовать значение сеанса в сериализаторе из области видимости. – jbmyid