सबसे पहले आपको इसे संभालने के लिए डेटाबेस सेट अप करने की आवश्यकता है, व्यक्तिगत रूप से मैं has_many के साथ जाऊंगा: एसोसिएशन के माध्यम से क्योंकि यह has_and_belongs_to_many पर अधिक लचीलापन प्रदान करता है। पसंद, हालांकि, आप पर निर्भर है। मैं आपको एपीआई में विभिन्न प्रकारों को देखने और अपने लिए निर्णय लेने की सलाह देता हूं। यह उदाहरण has_many: के माध्यम से सौदा करेगा।
मॉडल
# user.rb (model)
has_many :favorites
has_many :posts, :through => :favorites
# post.rb (model)
has_many :favorites
has_many :users, :through => :favorites
# favorite.rb (model)
belongs_to :user
belongs_to :post
नियंत्रक
# favorites_controller.rb
def create
current_user.favorites.create(:post_id => params[:post_id])
render :layout => false
end
मार्गों
match "favorites/:post_id" => "favorites#create", :as => :favorite
jQuery
$(".favorite").click(function() {
var post_id = $(this).attr('id');
$.ajax({
type: "POST",
url: 'favorites/' + post_id,
success: function() {
// change image or something
}
})
})
नोट्स
यह चीजों की एक जोड़ी हो जाती है: का उपयोग करते हुए रेल 3, jQuery का उपयोग कर, प्रत्येक पसंदीदा आइकन पोस्ट आईडी के साथ एक एचटीएमएल आईडी है। ध्यान रखें कि मैंने कोड का परीक्षण नहीं किया है और मैंने इसे इस विंडो में लिखा है, इसलिए आपको शायद कुछ मामूली समस्याएं ठीक करनी होंगी, लेकिन आपको यह समझना चाहिए कि I आमतौर पर ऐसा करता है। दृश्य सामग्री और मैं आपको छोड़ दूंगा।
यदि कोई भी गलती दिखाता है तो कृपया इस पोस्ट को संपादित करने के लिए स्वतंत्र महसूस करें।