学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Rails6.0 | 仕事売買サイトの構築 | 44 | trestle | 仕事管理

[43]trestle | ユーザ管理 << [ホームに戻る] >> [45]メッセージと会話 | モデル


仕事の管理を行えるようにします。


コマンド
rails g trestle:resource Gig


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


記述編集 app\admin\gigs_admin.rb

Trestle.resource(:gigs) do
  remove_action :new
  remove_action :destroy

  menu do
    item :お仕事, icon: "fa fa-address-card"
  end

  table do
    column :title
    column :active
    column :user, -> (obj) { obj.user.full_name }
    column :created_at, align: :center
    actions do |toolbar, instance, admin|
      toolbar.link '有効化', admin.path(:activate, id: instance.id), method: :post, class: 'btn btn-success'
      toolbar.link '無効化', admin.path(:deactivate, id: instance.id), method: :post, class: 'btn btn-danger'
    end
  end

  controller do
    def activate
      gig = admin.find_instance(params)
      gig.update(active: true)

      flash[:message] = "お仕事を有効化しました"
      redirect_to admin.path(:show, id: gig)
    end

    def deactivate
      gig = admin.find_instance(params)
      gig.update(active: false)

      flash[:message] = "お仕事を無効化しました"
      redirect_to admin.path(:show, id: gig)
    end
  end

  routes do
    post :activate, on: :member
    post :deactivate, on: :member
  end

end



ブラウザ確認
http://localhost:3000/admin/gigs


登録されたお仕事の管理ができるようになりました。

仕事の管理
仕事の管理



↓↓クリックして頂けると励みになります。


[43]trestle | ユーザ管理 << [ホームに戻る] >> [45]メッセージと会話 | モデル