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