戻る

Rails6.0


お仕事売買サイトの構築 Rails6.0

  (0)
3,000円

タスク4-1   注文モデル

このタスクについて


タスクの内容を一部抜粋します。
プロジェクトを購入していただくとこのタスクの内容の全てを読みやすい表示で見ることができます。
プログラムコードが色分けされて見やすくなります。
プログラムコードに行番号が付きます。
本文が色分けされて見やすくなります。
そしてこのアプリケーションのフルコードをダウンロードすることが可能になります。




注文のモデルを作成していきます。
まずは「uuid」を使えるように設定します。


コマンド
rails generate migration enable_pgcrypto_extension


作成された「db\migrate\20200526015502_enable_pgcrypto_extension.rb」ファイルを以下のように編集します。


記述編集 db\migrate\20200526015502_enable_pgcrypto_extension.rb
3行目に「enable_extension 'pgcrypto'」の記述を追加しています。
 
class EnablePgcryptoExtension < ActiveRecord::Migration[6.0] 
  def change 
    enable_extension 'pgcrypto' 
  end 
end 



注文モデルを作成します。


コマンド
一文です。
rails g model Order due_date:date title amount:float status:bigint seller_name buyer_name gig:references buyer:references seller:references --no-test-framework


「db\migrate\20200526020610_create_orders.rb」ファイルを以下のように編集します。


記述編集 db\migrate\20200526020610_create_orders.rb
内容を大幅に変えていますのでコードをコピーしてファイルを置き換えてください。
 
class CreateOrders < ActiveRecord::Migration[6.0] 

  def change 
    create_table :orders, id: :uuid do |t| 
      t.date :due_date 
      t.string :title 
      t.float :amount 
      t.bigint :status, default: 0 
      t.string :seller_name 
      t.string :buyer_name 
      t.references :gig, null: true, foreign_key: true 
      t.references :buyer, foreign_key: { to_table: :users } 
      t.references :seller, foreign_key: { to_table: :users } 
      t.timestamps 
    end 
  end 
end 



コマンド マイグレーション適用
rails db:migrate


「app\models\order.rb」ファイルを以下のように編集します。


記述編集 app\models\order.rb
 class Order < ApplicationRecord 
    belongs_to :gig, required: false 
    belongs_to :buyer, class_name: "User" 
    belongs_to :seller, class_name: "User" 
    enum status: [:inprogress, :completed] 
end 



「app\models\gig.rb」ファイルに以下の記述を追加します。


記述追加 app\models\gig.rb(6行目)
has_many :orders



app\models\gig.rb
 class Gig < ApplicationRecord 
  belongs_to :user 
  belongs_to :category 
  has_many :pricings 
  has_many :orders 
  has_many_attached :photos 
  has_rich_text :description 
  accepts_nested_attributes_for :pricings 
  validates :title, presence: { message: '空白にはできません' } 
end 



「app\models\user.rb」ファイルに以下の記述を追加します。


記述追加 app\models\user.rb(4行目)
   has_many :buying_orders, foreign_key: "buyer_id", class_name: "Order" 
  has_many :selling_orders, foreign_key: "seller_id", class_name: "Order" 



この続きはプロジェクトを購入していただくことで見ることができます。
プロジェクトを購入していただくとこのタスクの内容の全てを読みやすい表示で見ることができます。
プログラムコードが色分けされて見やすくなります。
プログラムコードに行番号が付きます。
本文が色分けされて見やすくなります。
そしてプロジェクトを購入するとこのアプリケーションのフルコードをダウンロードすることができます。

まだレビューはありません。

お仕事売買サイトの構築 Rails6.0

3,000円

フリーランスの方がお仕事を登録し、仕事を探している人が探して買うことができます。
お仕事を探している人がリクエストを出してお仕事をしてくれる人を募集する事もできます。
お仕事が売れると売上の80%が自動で指定口座に振り込まれます。
お仕事の購入はクレジットカードで決済します。
質問があればメッセージを送ることができ、リアルタイムで会話表示することができます。
検索機能、写真のアップロード、レビュー機能の実装、Facebook認証、アマゾンS3の利用方法も解説。
HEROKUへのデプロイ方法を解説。
フルコードのダウンロード可能。

タスク数: 146