railsでユーザーが自由にグループに入ることができるグループ機能を制作しています。
1グループ(circle)を作成したら、作成したユーザーがオーナーになる。
2グループオーナーは予めグループユーザーである
2番目のグループオーナーを予めグループユーザーにする方法がわかりません。
初学者なのでわかりやすく教えていただきたいです。
/app/controllers/circles_controller.rb class CirclesController < ApplicationController before_action :set_circle, only: [:update, :destroy, :edit] before_action :set_parents, only: [:new, :create, :destroy] before_action :owner_user, only: [:edit, :destroy] def index @circles = Circle.paginate(page: params[:page]).search(params[:search]) end def member @circle_user = CircleUser.paginate(page: params[:page]) end def new @circle = Circle.new if !@circle.user.include?(current_user) @circle.user << current_user end end def show @circle = Circle.find(params[:id]) @user = User.find(params[:id]) @circleposts = Circlepost.where(circle_id: @circle.id).all end def create @circle = Circle.new(circle_params) @circle.owner = current_user ※一番目の処理 if @circle.save @circle_user = @circle.owner flash[:success] = "作成しました" redirect_to root_url else render :new end end def edit @circle = Circle.find(params[:id]) end def update @circle = Circle.find(params[:id]) if @circle.update(circle_params) flash[:success] = "サークル情報が更新されました" redirect_to @circle else render 'edit' end end def destroy @circle = Circle.find_by(id: params[:id]) return redirect_to :root if @circle.nil? @circle.destroy flash[:success] = 'サークルを削除しました。' redirect_to :root end def search if params[:name].present? @circles = Circle.where('name LIKE ?', "%#{params[:name]}%") else @circles = Circle.none end end def set_parents @parents = Category.where(ancestry: nil) end def get_category_children @category_children = Category.find("#{params[:parent_id]}").children end def get_category_grandchildren @category_grandchildren = Category.find("#{params[:child_id]}").children end ・・・ private def owner_user redirect_to(root_url) unless current_user && @circle.owner? end def circle_params params.require(:circle).permit(:categries_id, :category_grandchildren, :category_children, :parent_id, :name, :place, :time, :homepage, :profile, { :user_ids => [] }) end def set_circle @circle = Circle.find(params[:id]) end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。