Как передать данные из контроллера в модель с помощью Ruby on Rails?

Как вы передаете данные из контроллер к модели?

В моем application_controllerя беру местоположение пользователя (, штат и город )и включаю before_filter, чтобы сделать его доступным на всех моих контроллерах через

before_filter :community

def community
    @city = request.location.city
    @state = request.location.state
    @community = @city+@state
  end

. Затем я пытаюсь добавить данные, полученные в контроллере. в модель через :

before_save :add_community

def add_community
      self.community = @community
    end

. Однако данные никогда не попадают от контроллера в модель. Если я использую :

def add_community
    @city = request.location.city
    @state = request.location.state
    @community = @city+@state
    self.community = @community
  end

, методы request.location.cityи request.location.stateне работают из модели. Я знаю, что все остальное работает, потому что если я определяю @cityи @stateкак строки в def_community, тогда все работает, за исключением того, что у меня нет динамической переменной, а просто строка, помещенная в модель. Кроме того, я знаю, что запросы работают в контроллере/представлениях, потому что я могу заставить их отображать правильную динамическую информацию. Проблема заключается в том, чтобы просто получить данные от контроллера к модели. Большое спасибо за ваше время.

9
задан mabu 31 August 2017 в 11:40
поделиться