Rails не может массово присвоить значения БД при использовании делегирования для получения / установки - PullRequest
0 голосов
/ 02 февраля 2019

В моем приложении rails - у меня есть 2 модели, User и Post.У пользователя есть один пост.У меня есть отношение has_one к принадлежащему.

В моем пользовательском контроллере я обновляю атрибуты сообщения (скажем, post_text), вызывая user.update_attributes!(params[:post])

В модели пользователя у меня есть attr_accessible :post_text (представление принимает post_text), которое, как я вижу, передается контроллеру.

Кроме того, я делегирую методы установки на

delegate :post_text, 'post_text=', :post_text?, to: :post

В классе Post у меня естьреализованы 3 вышеупомянутых метода, например -

def post_text=(input_text)
  #logic
end
def post_text
  #logic
end

def post_text?
  #logic
end

Когда я пытаюсь сохранить ввод из формы, он не сохраняется в БД, т.е. БД всегда пуста.Я пробовал отладку в форме тестов на уровне модулей и контроллеров, и все они работают как положено.Как я могу продолжить отладку?

1 Ответ

0 голосов
/ 02 февраля 2019

models / user.rb

has_many :posts

models / post.rb

belongs_to :user

Для получения дополнительной информации Ассоциации активных записей

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