원하는 것은 이전 페이지 필드를 볼 수있는 프로필 페이지를 만들고 고객이 텍스트를 변경하면 새로운 책을 만들 수 있습니다.업데이트 대신 책의 새 인스턴스를 만들려고합니다.
나는 지금 내가 무엇을 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
내가 뭘보고 싶은 것은 마지막으로 "자바 스크립트 성경"을 "자바 성경"에 수정하면 업데이트되지 않고 새로운 버전을 만들 수 있습니다. 지금 양식 책에 갈 때 나는 아무것도 볼 수 없다. 그리고 내가 이상한 이유로 그렇게한다면 그것은 나를 업데이트 만 할 수있게 해줍니다.
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
말을
추가, 유일한 문제는 지금 내 협회, 나는 현재의 고객과의 모든 책을 찾을 수 없습니다. 거기에 내 쿼리에 뭔가 틀린가요?
고객이 친구에게 콘텐츠를 보여줄지 여부를 알리는데도 사용하고 있습니다. 그래서 나는 이것을 사용하지 않는다. 나는 두 번째 모델이 필요하다. – Jseb