В какой-то момент вам нужно будет передать значение в вашу модель, а затем сохранить его, если вам потребуется регулярный доступ к нему.
Модели не могут извлекать данные из контроллеров - это может нарушить работу консоли, модульное тестирование и в некоторых других ситуациях.
Самый простой ответ примерно такой:
class User
attr_accessor :facebook_name
before_create :update_full_name
def calculated_full_name
facebook_name || "not sure"
end
def update_full_name
full_name ||= calculated_full_name
end
end
class UsersController
def create
@user = User.new params[:user]
@user.facebook_name = facebook_session.user.name
@user.save
end
end