0
我希望獲得關於允許用戶最喜歡遊戲的動作「Favorite」的「IF」聲明的建議。 一個遊戲需要一個關聯。一個用戶ID /一個遊戲ID(在連接表中)。Rails - 聲明IF在控制器中的連接表
我在DB的單一性與我的模型GameUser:
class GameUser < ActiveRecord::Base
belongs_to :game
belongs_to :user
validates_uniqueness_of :game_id, scope: :user_id
end
控制器(這是工作,只是返回一個錯誤,當我已經收藏了遊戲): 我想正確的寫如果我真的不知道如何
def favorite
game = Game.find(params[:id])
if
# Here is where I struggle,
#if User haven't got already a match in the DB (Join table User_ID/Game_ID) then :
current_user.games << game
flash[:notice] = "#{Game.name} Favorited"
redirect_to games_url
else
flash[:notice] = "#{Game.name} already favorited"
redirect_to games_url
end
end
非常感謝。
這就是完美!是的,我已經擁有了has_many:game_user,這只是最喜歡的動作的一個錯誤,它已經被收藏了。但感謝它的工作!我只是改變了中頻的一個除非在第二個聲明;) –
不客氣:) – Ursus