J'ai installé le bouton de suivi avant, Je ne me souviens pas où je l'ai installé avant L'endroit est assez déroutant C'était un endroit que je n'utiliserais normalement pas là-bas, alors Je vais le déplacer vers un endroit plus facile à comprendre et à utiliser.
La destination est ici. À côté de current_user.name pour chaque message.
Tout d'abord, allons trouver le bouton de suivi que nous avons créé quelque part auparavant.
Je l'ai trouvé! !!
ruby:app/views/users/show.html.haml
.users-show
= render 'follow_form'
= render 'stats'
J'appelle avec ce modèle partiel.
D'où appelez-vous d'ici?
ruby:app/views/users/_follow_form.html.haml
- unless current_user?(@user)
- if current_user.following?(@user)
= render 'unfollow'
- else
= render 'follow'
Ceci est également appelé avec un modèle partiel.
D'où appelez-vous d'ici?
ruby:app/views/users/_unfollow.html.haml
= form_for(current_user.following_relationships.build(following_id: @user.id)) do |f|
= f.hidden_field :following_id
= f.submit "Follow", class: "btn btn-large btn-primary follow-btn"
ruby:app/views/users/_unfollow.html.haml
= form_for(current_user.following_relationships.find_by(following_id: @user.id), html: { method: :delete}) do |f|
= f.submit "Unfollow", class: "btn btn-large btn-primary follow-btn"
J'obtiendrai certainement une erreur, mais collons simplement ceci dans la destination.
= render 'follow_form'
Quand je l'ai collé, j'ai eu cette erreur.
ActionView::MissingTemplate in Posts#index
On m'a dit qu'il y avait un problème avec les posts # index.
Attends une minute.
Le fichier que vous essayez d'appeler app/views/users/_follow_form.html.haml
Appeler app/views/posts/_post.html.haml
Si le répertoire est différent, vous devez l'écrire comme ça.
= render 'users/follow_form'
Quand je le mets là-dedans, aucune erreur n'apparaît, mais elle n'est pas affichée. .. .. Pourquoi? ??
posts_controller.rb
def index
@posts = Post.all.includes(:user).order("created_at DESC").page(params[:page]).per(5)
@post = Post.new
@user = current_user
end
On dirait que c'était mauvais hier. La mauvaise chose à ce sujet est que tous les @users deviennent current_user. Maintenant, quel que soit le lien sur lequel l'utilisateur clique, il accède à Ma page de l'utilisateur courant et ne va pas à Ma page de cette personne.
@user =La personne qui a publié le message
Je dois ecrire.
Lorsque j'ai regardé Twitter, il n'y avait pas de bouton de suivi sur l'écran de la liste. Le bouton de suivi n'était pas sur l'écran de liste, seulement après que je suis allé à l'écran des détails de l'utilisateur. Alors ne mettez pas de bouton de suivi sur l'écran de liste.
Recommended Posts