Rails манипулирует выводом запроса базы данных - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть модель 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 без внесения каких-либо изменений в БД? Я думаю, что мой вопрос заключается в том, как использовать метод, подобный карте, для объекта с вложенными атрибутами. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...