0

それで、私は検索を試みました (たくさん :( ) が、役立つものを見つけることができませんでした。

これは私が以前にやったことがあるように感じますが、それを理解できないようです。

多数のメソッド (?) にアクセスできるようにする gem (推奨、やった!) をインストールしました。

user.like(movie) => true

ビューで、 <%= link_to "Like", @user.like(@movie) %> を入れてみました...しかし、これは実際にはページの読み込み時に @user.like(@movie) を実行しているようです...そのユーザーがその映画を好きになるように自動的に設定します。

私は何が欠けていますか?:\

よろしくお願いします!

4

1 に答える 1

0

このようなものには LikesController が必要だと思います。そして、作成アクションにリモートリンクでき、この作成アクション内で実際にやりたいことを実行できます。

class LikesController < ApplicationController
  def create
    # assuming you have some method to get you the current_user
    # and assuming you just want to like movies
    movie =  Movie.find_by_id(params[:id])
    current_user.like(movie) if movie  
    # maybe check for success and return some meaningfull message
  end
end

そして、ビュー内で次のことができます:

<%= link_to "Like", likes_path(@movie), remote: true %>

これにより、いいねがトリガーされます。

LikesController 用に routes.rb にルートを作成することを忘れないでください。

ユーザーが実行できるアクションには、コントローラー内のアクションが必要であることを常に念頭に置く必要があります。ビューは常に、アクションを実行するためのオプションとともに、特定の状態をユーザーに提示するだけです。

于 2013-03-15T09:40:26.307 に答える