Невозможно создать модель в связанной модели - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть модель пользователя, которая имеет_он Модель сообщения, которая принадлежит_ пользователю. С помощью обратного вызова before_save я хочу создать (на самом деле несколько, но это другой вопрос) пустую (или, лучше сказать, по умолчанию, как сказать «это мой первый пост») публикацию всякий раз, когда новый пользователь регистрируется. Но функция ниже:

def create_post
  @post = Post.new(params[:post])
  @post.user = self
  @post.save

выдает ошибку:

неопределенная локальная переменная или метод `params 'для #

В чем может быть проблема?

1 Ответ

0 голосов
/ 29 ноября 2011

У вас нет доступа к хэшу параметров в модели.

Вы не хотите делать это в after_save обратном вызове, но в after_create или before_create я бы сказал.

Кроме того, я не понимаю, почему у пользователя есть_Отправка ... особенно, если вы хотите создать несколько.

В обратном вызове:

  • если у пользователя есть_one: post

    self.create_post(default_values_hash)

  • if has_many: posts

    self.posts.create(default_values_hash)

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