질문 업데이트 : 구매를 편집 할 때마다 현재 사용자의 ID를 저장하려고합니다. 특히 구매가 접수 된 것으로 표시된 경우.구매를 편집 할 때 현재 사용자를 데이터베이스에 저장할 수 있습니까?
구매가 표시된 것으로 표시되어 잘 작동하는 경우 datetime을 저장하는 메소드에 대한 before_update 콜백을 통해 구입 편집기의 ID를 데이터베이스로 전달하는 방법을 알아야합니다. purchase.rb에서 user.rb
class User < ActiveRecord::Base
has_many :purchase_edits, :foreign_key => :purchase_editor_id
has_many :edited_purchases, :through => :purchase_edits
has_many :created_purchases, :foreign_key => :creator_id, :class_name => "Purchase"
end
에서
purchase_edit.rb (join 테이블)에서 purchases_controller.rbclass PurchaseEdit < ActiveRecord::Base
belongs_to :purchase_editor, :class_name => "User"
belongs_to :edited_purchase, :class_name => "Purchase"
end
(& 업데이트에서 생성
class Purchase < ActiveRecord::Base
belongs_to :vendor
belongs_to :creator, :class_name => "User"
has_many :purchase_edits, :foreign_key => :edited_purchase_id
has_many :editors, :through => :purchase_edits, :source => :purchase_editor
before_update :update_marked_received_date
## Saves date when marked received. ##
def update_marked_received_date
return unless received == true
self.marked_received = Time.now
end
end
), 나는 이것을 가지고있다 :
왜 'marked_received_by_purchases'를 사용하는 데는 이유가 있습니까? 둘째로 나는 부울 값이나 수신 타임 스탬프를 유지하는 것이 일을한다고 생각한다. –
@VaibhavDhoke marked_by_received_by_id가 purchases 테이블에있는 열로 marked_by_received_purchases를 사용하고 있습니다. _purchases를 삭제할 수 있습니다. 받은 타임 스탬프가 있습니다. 사용자가받은 것으로 표시 한 ID를 저장해야하므로 부울이 작동하지 않습니다. – NeyLive
아마도 우리는 서로를 오해했을 것입니다. 나는 이미받은 타임 스탬프를 가지고 있고, 참으로 부울이다. 그것은 잘 동작한다. 내가 필요한 것은 구입 한 것으로 표시된 사용자의 ID를받은 것으로 저장하는 것입니다. – NeyLive