im создание приложения, которое извлекает все упоминания с помощью twitter, у меня есть модель профиля, где я хочу сохранить всех пользователей, которые отправили упоминание. На этой таблице у меня есть поле twitter_id, где я хочу сохранить идентификатор, полученный через API twitter .. и другие поля, такие как описание, имя_экземпляра и т. Д., Которые имеют одинаковые имена.Twitter Gem and Rails issue save user
# a.tc is a Twitter object already authenticated
tws = a.tc.mentions({:count => 200})
# foreach mention
tws.each do |t|
# Check if we already have it saved
p = Profile.find_by_twitter_id t.user.id
if p.nil?
# Profile doesnt exist, try to save it
p = Profile.new(t.user.to_hash) # ERROR!
p.twitter_id = t.user.id
p.save
end
Я уже пробовал много вещей, но все trows об ошибке ... им рубиновый нуб = P
Почему вы используете 'Profile.new (t.user.to_hash)', что именно ошибка и что вы пытаетесь сделать там? –
t.user - объект пользователя из gem Twitter, и я создал таблицу Profile, чтобы иметь НЕКОТОРЫЕ ключи от t.user (Twitter :: User) в виде полей, например: screen_name, описание, местоположение, но некоторые другие ключи не существует в моей модели, потому что я не интересуюсь всеми данными. ошибка: «ПРЕДУПРЕЖДЕНИЕ: невозможно назначить защищенные атрибуты: id» Я понимаю ошибку, но как я могу сохранить пользователя в профиле, или мне нужно создать хэш с каждым интересующим полем, не заботятся о том, что он разделяет то же самое имя? –