Защита создания связанных объектов в Rails 3 с помощью Devise - PullRequest
0 голосов
/ 03 октября 2011

Devise настроен в моем приложении Rails 3.Devise настроен для работы с моделью под названием Publisher.Издатель имеет несколько связанных моделей.Мне трудно понять, как защитить создание / уничтожение / просмотр этих связанных объектов с помощью Devise.Я привык к созданию связанной записи с чем-то вроде:

pub = Publisher.find(:params[publisher_id])
pub.books << Book.create!(:title => "War and Peace")

Я уверен, что просто упускаю что-то простое, но где я могу реализовать логику, которая подтверждает, что кто-то вошел в систему как pub действительно ли человек создает эту ассоциацию?Это так просто, как что-то вроде этого:

pub = Publisher.find(current_publisher)

Если это так, где я могу это реализовать?В нашей реализации эти записи будут создаваться через POST до /publishers/:publisher_id/books(.:format).Означает ли это, что это должно происходить в методе #create в BooksController?Я знаю, что это все элементарно, но я подвергаюсь воздействию RoR только раз в шесть месяцев или около того - никогда не получаю достаточно долго, чтобы получить твердое понимание!

1 Ответ

0 голосов
/ 03 октября 2011

Вы должны создать новые Book экземпляры, используя Publisher s books, например:

current_publisher.books.build(:title => "War and Peace")

Это добавляет новую книгу в ассоциацию и назначает для нее издателя.

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