множественные отношения HABTM в рельсах - PullRequest
0 голосов
/ 05 августа 2010
class Book < ActiveRecord::Base
  has_and_belongs_to_many :categories
  has_and_belongs_to_many :users
end


class Category < ActiveRecord::Base
  has_and_belongs_to_many :books
end

class User < ActiveRecord::Base
  has_and_belongs_to_many :books
end

Выше я описал отношения между моими моделями. В моем контроллере книг и форме я могу легко создать книгу и связать ее с категорией. Но как мне связать эту книгу с пользователем во время создания? Есть ли часть rails automagic, которая предположительно будет обрабатывать это для меня, или мне придется сделать какой-нибудь тип транзакций, чтобы обновить таблицу соединений, чтобы связать книгу с пользователем.

1 Ответ

0 голосов
/ 05 августа 2010

Вы можете создать новую книгу, например, так:

class BooksController < ApplicationController
  def create
    @book = @current_user.books.build(params[:book])
    ...
  end
end

Эта область видимости книги @current_user; при сохранении @book для @book.user_id будет установлено значение @current_user.id. Как вы заселите @current_user зависит от вас.

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