これは私の心を吹き飛ばします、そして私がここで助けを求める必要があるほど多くのことが起こっています。
現在、リソースのリストがあります。各リソース内では、リンクをクリックすることで、誰かが「お気に入りとして追加」することができます。私はそれを通常のリダイレクトで動作させていますが、ページを更新せずにお気に入りにできるようにajaxを統合することに関しては、私は完全に失われています...
- 今、私はそれを「置く」アクションとして持っています。それはCRUDの「更新」のようです
FavoriteController(更新はこのコントローラーの唯一のアクションです)
def update
@favorite = Favorite.find_or_initialize_by_resource_id_and_user_id(params[:id], current_user.id)
if @favorite.persisted?
@favorite.destroy
else
if @favorite.valid?
@favorite.save
end
end
redirect_to root_url
end
私の見解:
<%= link_to "", favorites_path(:id => resource.id), :class => "star#{star_post?(resource)}", :method => "put" %>
私のルート:
resource :favorites, :only => [:update]
私のJS:
$('.res-list .star').click(function(){
$.put('/favorites/?id=' + $(this).attr('data-id'));
return false;
});