1

ユーザーのための簡単な投票システムを作りました

投票_コントローラー:

def create
  @user = User.find(params[:id])
  @vote = Vote.create(author_uid: current_user.uid)
  @user.votes << @vote

  redirect_to root_url
end

ファイルを閲覧する:

- @users.each do |user|
  %tr
    %td= user.id
    %td= link_to user.username, user.url
    %td
      = link_to 'Like', {:controller => "votes", :action => "create" }, :method => "post"

しかし、ユーザーに投票すると、「ID のないユーザーが見つかりませんでした」というエラーが表示されます。

この問題の解決に役立つことを願っています。さらに情報が必要な場合は、コメントしてください。

ありがとう!

4

2 に答える 2

2

メソッドでidパラメータを渡していません。link_to

そのためparams[:id]、サーバーで検索しようとすると存在しません

于 2013-11-04T20:09:01.730 に答える
1

変化する

link_to 'Like', {:controller => "votes", :action => "create" }, :method => "post"

link_to 'Like', {:controller => "votes", :action => "create", :id => user.id }, :method => "post"

また、投票オブジェクトを作成した後、ユーザー オブジェクトを保存していません。

于 2013-11-04T20:12:26.187 に答える