イベントを常に作成する方法はわかりませんが、データの整合性を正しく維持しています。これが私のモデルです
お客様
id
first
last
email
本
id
description
Book_Manager
customer_id
book_id
visible
これを行うには、has_many関係を使用する必要があり、彼の説明は以下のとおりです。
Book
has_many :book_managers
has_many :customers, :through => :book_managers
Book_Manager
belongs_to :customer
belongs_to :book
Customer
has_many :book_managers
has_many :books, :through => :book_managers
アイデアは、前回からすでに作成されたデータを確認することです。つまり、Book = Book_Manager Tableで、customer_id=current_customerおよびcreated_lastであるクエリを作成する必要があります。ブックコントローラーでこのようなクエリを作成する方法がわかりません。クエリは次のように見えるかもしれません。私は正しいですか?現在の顧客は、sessionHelperメソッドの現在の顧客です
@report = BookManager where customer.id == current_customer.id AND created_last.last
最後になりましたが、顧客が保存を押してテキストを変更するたびに、アクションcreateが実行され、正しい3番目のモデルの本が関連付けられ、顧客もブックマネージャーに関連付けられた新しいbook_managerが作成されます。
私は次のコードを持っていますが、それが正しいかどうかわかりません
class BooksController < ApplicationController
def edit
@book = Book.find(params[:id])
end
def create
@customer = Customer.first
@book = @customer.BookManager.build(params[:book])
end
end