Атрибуты фильтрации Ruby on Rails при возвращении объекта модели - PullRequest
2 голосов
/ 23 ноября 2010

Я создаю API для приложения Rails и хочу вернуть User объекты для вызова API, но без атрибутов crypted_password, salt или login_token.

Есть ли способ сделать что-то вроде этого:

do api_fetch_user(u)
  user=User.find(u)
  return user(:filter=>"crypted_password", "salt", "login_token")
end

Ответы [ 2 ]

3 голосов
/ 18 октября 2012
def api_fetch_user(user)
  user.attributes.select { |key,v| AVAILABLE_USER_FIELDS.include?(key) }
end
2 голосов
/ 23 ноября 2010

Это может работать в вашем случае, хотя я не пробовал это личноПопробуйте вернуть Отфильтрованные атрибуты в ноль перед возвратом объекта.

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