0

次のシナリオで私のロジックが正しいかどうかはわかりません。ベストプラクティスではないか、もっと簡単な方法があるかもしれません。また、コードの設定方法がわからないので、何かポインタがあれば大歓迎です。

わかりましたので、私は2つのモデルを持っています

class MiniLeague < ActiveRecord::Base
  attr_accessible :league_name, :team_id, :league_key

  has_many :teams
end


class Team < ActiveRecord::Base
  attr_accessible :team_name, :user_id, :mini_league_id, :key

  belongs_to :user
  has_many :mini_leagues
end

ミニリーグを作成すると、そのキーを持つチームのみがそのリーグに参加できるように、乱数 (キー) が生成されます。キーは、その特定のミニ リーグに参加したいユーザーに渡されます。

私が少し立ち往生している部分は、チームをリーグに追加するときに何をすべきかということです。これまでのところ、チームを作成するときに、このキーを追加するフィールドがあり、モデルに保存されると考えています(またはチームがすでにキーで更新を作成しました)。これで、チーム モデルにチーム名とキーが追加されました。

承認されたチームのみがミニ リーグに参加できるように、2 つのキーを比較する方法に関する提案。または、これに別の方法でアプローチしますか?これは大きな答えになる可能性があることは承知していますが、このようなことを行う方法に関するリソースを見つけることができるように、いくつかの指針を喜んで取り上げます

ありがとう

編集

チームコントローラーでそのようなことができますか

Team Controller

def create
  if params[:key] && params[:mini_league_id] == params[:mini_league][:league_key] && params[:mini_league][:league_id]
  @team = Team.create(params[:team])
  else
  render :new, notice: "invalid key"
  end
 end

end
4

1 に答える 1