2011-07-29 12 views
1

投稿のリストが生成されると、ログインしたユーザーがスターをクリックしてその投稿をお気に入りにすることができるようにしたい。これをAjaxでやる方法に関する提案はありますか?私はこれにmany_to_many関係を使用すると思いますが、ajaxをレールに投稿することは確実ではありません。ruby​​ on rails投稿のためのajax favボタン

+0

レール2または3を使用していますか? –

+0

レール3を使用する--- – stewart715

答えて

2

まず:あなたの団体はUserFavourites(USER_ID、post_idの)のように、結合テーブルと、より明示的なこと、と行うことができます:

# user.rb 
has_many :user_favourites 
has_many :favourites, :through => :user_favourites, :class_name => "Post" 

その後、あなたの意見では、あなたがお気に入りのリンク(スターイメージ)を作成することができますそのリンクのIDがfavouriteであるとします。そして、あなたはjQueryの(または何でも)を使用して行うことができます:

$("#favourite").click(function() { 
    $.ajax({ 
     url: "https://stackoverflow.com/users/add_favourite", 
     data: {some_data_you_may_want_to_send: the_data}, 
     success: function(html){ 
      //do something here if you want 
     } 
    }); 
}); 

これは、ユーザーの一部のコントローラのアクションが必要になりますadd_favouriteと呼ばれ、あなたはそれがいくつかのHTMLを返すか、何も返さないし、ただ、ユーザーにお気に入りを追加することができます。

+0

は、jsonや何らかの真偽フィードバックを返すほうがいいですか? –

+0

ええ、それはOPまでです。彼が何を望むかによって決まります。何かが間違った場合に備えて、何らかの真偽フィードバックが理想的であると私は同意するだろう。 – MrDanA

+0

T/Fからのフィードバックでお手伝いできますか?私は本当にこのようなものに新しいです、あなたの助けをありがとう! – stewart715

関連する問題