私が望むのは、前の本のフィールドを表示できるプロファイル ページを作成することです。顧客がテキストを変更すると、新しい本が作成されます。
has_many 関係を持つ次のモデルがあります
Customer -- ID, First, Last, Email
Book -- ID, Description
Book_Managers -- ID, Customer_id, Book_id, Visible
今私が持っているのは、本、電話などのより多くのモデルからレンダリングすることで複数のフォームを見ることができる顧客編集です...
ここで私の顧客コントローラー
def edit
@customer = Customer.find(params[:id])
if @customer.books.any?
@book = @customer.books.order("created_at DESC").first
else
@book = @customer.books.build
end
end
私が見たいのは、ブックフォームに行くときに新しいインスタンスを作成した場合、最後のインスタンスが表示され、「The JavaScript Bible」を「The Java Bible」に変更できるはずであり、更新されずに新しいインスタンスが作成されることですバージョン。現在、フォームブックに移動しても何も表示されません。そして、私が何らかの奇妙な理由で行った場合、それは私が更新することしかできませんでした.
class BooksController < ApplicationController
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
def index
@books = Book.all
end
def destroy
@book.destroy
redirect_to root_url
end
end
これを追加
def update
@book = current_customer.books.build(params[:book])
if @book.save
flash[:success] = "Book Updated"
redirect_to root_url
else
render 'customer/edit'
end
終わり
私の本の管理者にとって、今のところ唯一の問題は私の関係です。現在の顧客との本を見つけることができないようです. 私のクエリに何か問題がありますか?