我不確定在以下情況下我的邏輯是否正確,可能它甚至不是最佳實踐,或者可能有更簡單的方法。另外我不確定如何設置我的代碼,所以如果任何人有任何指針,將不勝感激。使用密鑰授權創建模型屬性
好了,所以我有兩個型號
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
當創建生成隨機數的迷你聯賽(密鑰),只有擁有該密鑰團隊可以加入該聯盟。關鍵將傳遞給想要加入該特定迷你聯賽的用戶。
我有點困擾的部分是在向聯盟添加球隊時該怎麼做,到目前爲止,我的想法是在創建球隊時有一個字段添加此鍵,然後將其保存到模型中(或者if該團隊已經使用密鑰創建了更新)。所以現在我的團隊模型有團隊名稱和密鑰。
任何有關如何比較兩個鍵的建議,以便只有經過授權的團隊才能加入迷你聯盟。或者你會以不同的方式處理?我意識到這可能是一個大的答案,但我樂於接受一些指針,這樣我就可以去找到如何做這樣的事情
感謝
編輯資源
我能做一些像這樣的球隊控制器
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
喜@Galen,感謝那確實有幫助,快速的問題,在我的其他聲明中,我只是打電話給valid_key?方法,因爲目前我得到您需要提供至少一個驗證錯誤消息母雞渲染頁面 – Richlewis 2013-05-07 19:47:26
好所以現在錯誤是未定義方法mini_league在模型 – Richlewis 2013-05-07 20:18:09
我改變驗證 – Richlewis 2013-05-07 20:24:45