ユーザーとゲームの関連付けを構築しています。ユーザーはゲームをお気に入りに追加したり、関連付けることができます。しかし、私はルートやリンクに問題があります(おそらく、他の何か)。Rails - ゲームを追加するユーザーに関連付けます。
私はユーザーとゲームの間のテーブルに参加している:私はこれを行うとき
ゲームのIDとUser IDとGame_User
協会は、コンソールで正常に動作しています。
@user = User.find(session[:user_id])
@game = Game.find(params[:id])
@user.games << @game
games_controller.rb:
def favorite
game = Game.find(params[:id])
current_user.games << game
flash[:notice] = 'You favorited #{@game.name}'
redirect_to games_url
end
routes.rbを
get "games" => "games#index"
post "games/:id" => 'games#favorite'
そして、私は私のリンクと同じことをしたいと思います。ここで
は、ゲームのリストであり、好みのそれらへのリンクごと:
<% if current_user %>
<% @games.each do |game| %>
<tr>
<td><%= game.name %></td>
<td><%= game.plateform %></td>
<td><%= game.typegame %></td>
<td><%= link_to 'Show', game %></td>
<td><%= link_to 'Edit', edit_game_path(game) %></td>
<td><%= link_to 'Destroy', game, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<td> <%= link_to "favorite", games_path, type: "favorite", method: :post %> </td>
</tr>
<% end %>
<% end %>
私の問題がある:私はリンクお気に入りをクリックすると、ユーザーとゲーム(複数可)との間の関連付けを作成します、それはあなたがあなたのlink_to
方法でgames_path
を呼んでいるが、それはあなたの代わりにgames#create
のfavorite
を与える(DEF game.newを作成...)
エラーが発生しますか?何か?あなたの実際の問題は何ですか? – PoloniculMov
ああ、私の悪い、実際には、私はリンクをクリックすると、リストに新しいゲームを生成しているだけでなく、ユーザーにゲームを追加しています。 –
'' rake routes'が出力するものを私に見せてもらえますか?私の推測では 'games_path'へのPOSTは別の場所に行くのです – PoloniculMov