顧客に関連付けられている書籍から情報を取得しようとしていますが、中間の関連付けが機能していないようです
ここに私のモデル
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
def editで情報を取得すると、次のようになります。
@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
本の下に、顧客に関連する空の本があるかどうかを確認する必要があります。存在する場合は、最後の本を紹介します。そうでない場合、顧客は空白を表示し、新しいものを作成できます
ブックマネージャーは、関係を維持するためだけに存在します。また、データを保持し、サイト内の他のすべてのユーザーにこのデータを表示するかどうかをユーザーが判断できるようにするためです。