0

make_flaggable ジェムを使用して、 という「いいね」ボタンを作成しています:fav。コードは動作していますが、動的に更新されるように Ajax に移行できないようです。link_to問題は私のアクションまたは にある可能性がありますが、redirect_to何に変更すればよいかわかりません。どんな助けでも大歓迎です!

events_controller.rb

def fav
  @event = Event.find(params[:id])
  current_user.toggle_flag(@event, :fav) #toggles the fav

  respond_to do |format|
    format.js
    format.html { redirect_to :back }
  end
end

helpers/events_helper.rb

def toggle_fav(event, user)
  link_to
    user.flagged?(event, :fav) ? #if the user has already flagged(favoured) the event
    content_tag(:span, " ", :class => "glyphicon glyphicon-heart") : #show a full heart icon
    content_tag(:span, " ", :class => "glyphicon glyphicon-heart-empty"), #show an empty heart icon
    fav_event_path(event), #this updates the database and I think is the cause of the problem
    :remote => true
end

ビュー/イベント/fav.js.erb

$('.fav-heart').html("<%= escape_javascript toggle_fav(event, current_user) %>");

views/events/index.html.erb (お気に入りに関連するもの)

<li class="fav-heart">
  <%= toggle_fav(event, current_user) %>
</li>
4

1 に答える 1