我试图来从与客户相关联,但图书的信息似乎是中间的关联没有工作的Rails协会HAS_MANY
这里我的模型
Book
has_one :book_manager
has_one :customer, :through => :book_manager
Customer
has_many :book_managers
has_many :books, :through => :book_managers
Book_Manager
belongs_to :customer
belongs_to :book
领域都有遵循
Book Customer book_manager
id id id
description email customer_id
password book_id
first visible
last
时,取我的高清编辑的信息,下面是全成
@book = Book.first
@book = Book.last
下似乎未能
@customer = Customer.find(params[:id])
@book = @customer.books.first
@book = @customer.books.order("created_at DESC").first
有什么我错过?
我也尝试通过为book_manager控制器和视图创建索引进行验证,并且没有任何内容出现,它看起来是空的。我的方式创建的书是为遵循
BookController的
def create
@book = current_customer.books.build(params[:book])
if @book.save
flash[:success] = "Book Created"
redirect_to root_url
else
render 'customer/edit'
end
end
我已经更新我的关系,但仍然没有工作
的想法是一直跟随
一位顾客更新了状态,其中包含许多子部分,如
-Phone
-Book
-Interest
Und呃,我应该看看是否有与客户有关的空白书,如果有的话,然后展示最后一本书。如果不是,那么客户看到空白,并可以创建一个新的
书籍经理只是在那里保持关系,也因为我想保留数据,并且我想让用户确定我们是否将这些数据显示给每个人否则在网站中。
'@book = current_customer.books.build(PARAMS [:书])'我认为这是不正确。客户has_many book_managers,因此,Rails在建立新书时不知道你想使用哪一个。明确地将其分配给特定的'book_manager'可能有助于 – 2012-08-01 15:56:22
哦..等一本书只与一位图书管理员关联,我可能需要改变我的关系 – Jseb 2012-08-01 15:58:27
从客户界面的角度开始您的思考过程。他们可能会访问图书管理员页面并看到多位经理。当他们打开经理时,他们会看到多本书。对我来说,对于一个客户来说,“拥有”图书管理员似乎是最自然的事情,每个图书管理员都会拥有“自己的”图书你的案例中的“拥有”将转化为“所有者”一方的“has_many”和“ownee”一方的“belongs_to”。 – Kelvin 2012-08-01 18:31:43