我有以下show-view,其中我显示有关产品的基本信息并显示其他用户的产品.
<h1>Book <%= @product.name %></h1>
<% @products.each do |product| %>
<ul>
<%= product.name %>
<%= link_to "Make offer", {controller: "offers", :action => 'create', id: product.id } %>
</ul>
Run Code Online (Sandbox Code Playgroud)
调节器
def show
@product = current_user.products.find(params[:id])
@products = Product.all
end
Run Code Online (Sandbox Code Playgroud)
我的目标是在两种产品之间提供优惠.我创建了Offer模型和制作优惠的方法:
class Offer < ActiveRecord::Base
belongs_to :product
belongs_to :exchanger, class_name: "Product", foreign_key: "exchanger_id"
validates :product_id, :exchanger_id, presence: true
def self.request(product, exchanger)
unless product == exchanger or Offer.exists?(product, exchanger)
transaction do
create(product: product, exchanger: exchanger, status: "oczekujace")
create(product: exchanger, exchanger: product, status: "oferta") …Run Code Online (Sandbox Code Playgroud)