Я хотел перезаписать метод активной записи по умолчанию attributes
, потому что я не хочу возвращать created_at
и updated_at
в моих ответах json любой модели.
вот что я сделал.
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
def attributes
super.except('created_at', 'updated_at')
end
end
Это работало хорошо для меня в течение последних нескольких месяцев. Но теперь я столкнулся со сценарием, согласно которому я не должен отправлять атрибут password
из моей модели User
. Итак
class User < ApplicationRecord
def attributes
super.except('password')
end
end
Это сработало как шарм, когда я запускаю его с консоли rails. Но когда я запускаю его из контроллера, я действительно не знаю, по какой причине, но это идет по бесконечному циклу. А вот и мой контроллер действий.
def update
@object = klass.find(id)
@object.update_attributes!(update_params)
render json: {
status: true,
message: 'Saved Successfully..!',
data: object_json(@object)
}
end
def object_json(object)
object.as_json.except('updated_at', 'created_at')
end
Может ли кто-нибудь помочь мне в этом.