我在我的Rails 3应用程序中设置了Devise。 Devise配置为使用名为Publisher的模型。 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)
创建。这是否意味着应该在BooksController中的#create
方法中出现?我知道这一切都是初级的,但是我每六个月左右就会接触一次RoR - 永远不会长时间地抓住它!
答案 0 :(得分:0)
您应该使用Book
的{{1}}关联创建新的Publisher
个实例,如下所示:
books
这会为协会添加一本新书,并为您指定发布商。