リスト項目をダブルクリックした後に呼び出される jQuery 関数があります。
アプリ/アセット/javascripts/タイル/タイル.js
$('#list > li').dblclick(function(){
// styling
$(this).toggleClass('liked');
// pass ID to controller
var movie_id = $(this).attr("data-id");
$.getScript("/likes.js");
});
上記の項目にいくつかの新しいフォーマットを適用することの次に、私の主な目標は、likeコントローラーからデータベース エントリを作成することです。このRailscastでは、コントローラーからのindexアクションcommentsがこの単純な行で呼び出されます。
$.getScript("/comments.js");
さらに、一部の JavaScript はindex.js.erbファイルから呼び出されます。
Railscasts のサンプル コードを理解する上での最初の問題は、アクションの定義方法です。自分からアクションを呼び出したい場合createLike、likes_controllerどのように呼び出しますか?
次に、JavaScript ファイルがロードされず、アクションも呼び出されないため、これまでの試みはすべて失敗しました。
どういうわけか、私はパスを台無しにしたと感じています。関数で呼び出される JavaScript ファイルはどこにありgetScriptますか?
ファイル
app/assets/javascripts/likes/index.js.erb
console.log("Test");
アプリ/コントローラー/likes_controller.rb
class LikesController < ApplicationController
protect_from_forgery
def index
Like.create(:user_id => current_user.id, :item_id => params[:id])
end
end