需要帮助在Rails网络应用程序中找出购票销售模块的数据库结构

时间:2015-12-07 18:11:45

标签: ruby-on-rails

关于网络应用程序,它基本上是第三方应用程序,用于在线购买和销售各种活动的门票。所以基本上用户可以买卖票。

现在我有用户,活动,门票和交易表。

有人可以告诉我什么是处理后端门票销售的最佳方式。假设一个用户有20张活动门票,最好的方法是从卖家那里获取信息?让他输入个人门票号码或输入20个不同的记录,并在出售后用旗帜标记出来?

这里的事情是我们让用户上传门票的图片。

需要帮助。我很困惑如何处理这件事。

1 个答案:

答案 0 :(得分:0)

您需要为每个ticket提供具体记录:

#app/models/user.rb
class User < ActiveRecord::Base
   has_many :tickets
end 

#app/models/ticket.rb
class Ticket < ActiveRecord::Base
   belongs_to :event
   belongs_to :user
   has_one :purchase
   has_attached_file :image
end

#app/models/purchase.rb
class Purchase < ActiveRecord::Base
   belongs_to :ticket
   belongs_to :user
end

这将使您能够调用以下内容:

#config/routes.rb
resources :users do
   resources :tickets, only: [:show, :index]
end

#app/controllers/tickets_controller.rb
class TicketsController < ApplicationController
   def index
      @user = User.find params[:user_id]
      @tickets = @user.tickets
   end

   def show
      @user = User.find params[:user_id]
      @ticket = @user.tickets.find params[:id]
   end
end

可能还希望包含单独的Purchase模型,以便您确定是否已购买ticket

如果您需要更多细节,请告诉我,我会更新答案。