지금 생각하고있는 것은 ...레일 : 조건부 유효성 검사 및보기
도서 (항목)가 가득한 라이브러리가 있습니다. 각 책에는 많은 체크 아웃 (임베디드 문서)이 있습니다.
내가하고 싶은 생각은 체크 아웃시 임베디드 문서로 새로운 "체크 아웃"을하는 것입니다. 체크인 할 때 체크 아웃을 편집하고 "date_checked_out"필드를 추가하고 싶습니다 ...
문제는 내 현재 모델/컨트롤러가 체크인 또는 체크 아웃 할 때마다 새 항목을 만듭니다 ... 그래서 두 배입니다. 중복 ...
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 더 자세한 정보가 필요하십니까?
체크 아웃 컨트롤러 :
def new
@entry = Entry.find(params[:entry_id])
@checkout = @entry.checkout.new
respond_to do |format|
format.html {render :layout => false}
end
end
def create
@entry = Entry.find(params[:entry_id])
@entry.update_attributes(:checked_out => "Out")
@checkout = @entry.checkout.create!(params[:checkout])
redirect_to "/", :notice => "Book Checked Out!"
end
class Checkout
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::MultiParameterAttributes
field :checkout_date, :type => Time
field :checkout_date_due, :type => Time
field :book_in, :type => Time, :default => Time.now
field :book_out, :type => Time, :default => Time.now
embedded_in :entries, :inverse_of => :entries
end
책 및 체크 아웃의 모델 및 컨트롤러 코드를 제공 할 수 있습니까? – eabraham
@eabraham, 내 업데이트를 참조하십시오. 새로운 표준/작성 방법과 전형적인 모델 ... 아직 특별한 것은 없습니다. –
Entry 및 Checkout 모델을 게시 할 수 있습니까? – Squadrons