У меня есть модель User и BlogTag. Пользователь has_one blog_tag.
// this is app > models > blog_tag.rb
class BlogTag < ApplicationRecord
def hobby_tag
super || { "cat-1" => ["football", "soccer"], "cat-2" => ["knitting", nil] }
end
def pet_tag
super || { "cat-1" => ["cat", "dog"], "cat-2" => ["parrot", "butterfly"] }
end
end
Пользователь может изменить эти теги блога с помощью вызова API. Когда вызывается вызов API для извлечения тегов этого блога, я хочу проверить, подписан ли зарегистрированный пользователь на bird_feature. Если нет, попугай в pet_tag должен быть изменен на ноль.
class BlogTagController < MainController
// must check if @current_user.blog_setting.bird_feature is equal to 0. If it is, change any parrot in pet tag to nil, e.g. { "cat-1" => ["cat", "dog"], "cat-2" => [nil, "butterfly"] }
def index
render json: @current_user.blog_tag
end
Как я могу манипулировать выводом json без внесения каких-либо изменений в БД? Я думаю, что мой вопрос заключается в том, как использовать метод, подобный карте, для объекта с вложенными атрибутами. Спасибо