2012-07-27 2 views
1

Quelqu'un peut-il me diriger dans la bonne direction pour apprendre comment je pourrais mettre en œuvre un système similaire à facebook "like" ou Twitter "Follow/Neoever" système qui Je pourrais créer dans Rails? D'après ce que j'ai compris, j'aurais besoin d'utiliser Javascript non intrusif.un système Facebook "like" ou Twitter "follow" - dans Rails 3

J'ai un modèle de chose (has_many: aime) et un modèle comme (belongs_to: chose)

Tous les pointeurs?

+1

si vous commencez avec RoR, vous pouvez jeter un oeil à http://ruby.railstutorial.org/ ruby-on-rails-tutorial-book (j'ai acheté les vidéos). celui-ci est excellent. Il fait un exemple de projet où il crée un site web comme Twitter, donc c'est vraiment proche de vos besoins. – choise

+0

"Aimer" et "Suivre" sont deux problèmes très différents. – mikeycgto

+0

fondamentalement je veux qu'un utilisateur puisse dire qu'il/elle aime/utilise une chose. J'ai donc créé un modèle pour un "like". Je veux que lorsque l'utilisateur clique sur le bouton "J'aime/Utilise" que (selon ce qui existe déjà) un nouvel objet "J'aime" soit créé, alors le bouton "J'aime" est changé pour un statut "Contrairement à/Non-Utiliser" - afin que le contraire puisse alors être fait. Des idées? – adamteale

Répondre

1

Vous pouvez faire appel ajax à une fonction et mettre en œuvre toutes les fonctionnalités que vous aimez dans cette fonction, (dans ce cas, « suivre »), vous pouvez le faire avec:

[link_to_function][1] 

Incase, vous utilisez des rails 3.2.4 et dépréciée, vous pouvez utiliser (Ceci est du commentaire de jeremy https://gist.github.com/rails/rails/pull/5922#issuecomment-5770442.):

module LinkToFunctionHelper 
    def link_to_function(name, *args, &block) 
    html_options = args.extract_options!.symbolize_keys 

    function = block_given? ? update_page(&block) : args[0] || '' 
    onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function}; return false;" 
    href = html_options[:href] || '#' 

    content_tag(:a, name, html_options.merge(:href => href, :onclick => onclick)) 
    end 
end 
+0

merci pour vos commentaires les gars. Va vérifier tout cela et rendre compte. Merci! @ d34th4ck3r - où puis-je lire sur l'implémentation de ce module? Est-ce quelque chose que je mettrais dans mon assistant "Things"? Bravo – adamteale

+1

Vous pouvez suivre ce tutoriel pour apprendre comment implémenter la fonctionnalité complète "follow": http://ruby.railstutorial.org/chapters/following-users#top. Cependant, si vous êtes intéressé par une partie ajax, vous pouvez lire directement: http://ruby.railstutorial.org/chapters/following-users#sec:a_working_follow_button_with_ajax – d34th4ck3r

Questions connexes