如果卖家卖东西,我就无法向购买它的用户展示。使用销售,产品和用户模型
<% @sales.each do |sale| %>
<tr>
<td><%= link_to sale.product.title, pickup_path(sale.guid) %></td>
<td><%= time_ago_in_words(sale.created_at) %> ago</td>
<td><%= sale.seller_email %></td>
<td><%= sale.amount %></td>
如果我继续将其更改为<%= sale.buyer_email %>
,它只会向我显示当前用户以及他们刚买的东西而不是世界卫生组织购买的物品。这是我在检查控制台后得到的结果,seller_email
为零,上次销售的金额为零。我如何解决这个问题,以便卖家可以看到谁去他们的项目?
答案 0 :(得分:1)
实际上,应该更改模型结构以创建正确的架构。
您拥有用户,产品和销售模型。所以协会应该如下。
+ theme(strip.background = element_blank(), strip.text = element_blank())
然后您就可以访问所有买家&amp;按照以下代码行销售产品。
class User
has_many :products
has_many :sales
has_many :customers, :through => :sales
end
class Product
has_many :sales
belongs_to :user
has_many :buyers, :through => :sales
has_many :sellers, :through => :sales
end
class Sale
belongs_to :seller, :class_name => "User"
belongs_to :buyer, :class_name => "User"
belongs_to :product
end
答案 1 :(得分:0)
it seems like your current_user
in the Transaction
controller is nil.
I can see you are missing the before_action :authenticate_user!
in the Transaction Controller
.
So you could check this by using a debug gem like pry , try to add binding.pry
just before product.sales.create!(buyer_email: current_user.email)
and see if the current_user
has a value
HTH