2016-05-09 3 views
0

Comment puis-je convertir ces liens et les faire fonctionner dans la vue de spectacle?link_to sous vue Voir

J'utilise le bouton ci-dessous défini dans la vue d'index, mais je souhaite déplacer ces liens dans la vue d'ensemble. J'ai essayé des variations et des manières différentes mais je n'arrive pas à les faire fonctionner.

L'utilisateur a des adresses imbriquées et des profils métier, j'essaie également de créer un lien pour modifier et supprimer.

<%= link_to 'Edit User', edit_users_main_path(users_main), class: "btn" %> 
<%= link_to 'User Address', users_main_contacts_path(users_main), class: "btn" %> 
<%= link_to 'User Business', users_main_businesses_path(users_main), class: "btn" %> 
<%= link_to 'Delete User', users_main, method: :delete, data: { confirm: 'Are you sure?' }, class: "btn" %> 
+0

Quelle est l'erreur lorsque vous essayé de déplacer à 'show'? 'Users_main' est-il disponible pour' show'? – RAJ

+0

variable locale non définie ou méthode 'users_main ' – bradpotts

+0

Exactement, c'est ce que je soupçonnais. Vous devez définir le varibale 'users_main'. Vérifiez la réponse: http://stackoverflow.com/a/37126432/1047207 – RAJ

Répondre

1

Je ne suis pas sûr que ce que vous attendez dans users_main, mais je suppose que ce doit être un objet utilisateur. Vous devez le définir dans le show d'action show que vous pouvez utiliser dans la vue correspondante.

# Controller 
def show 
    @user = User.find(params[:user_id]) # just an example to define your instance varibale 
    ... 
    ... 
end 

ensuite utiliser même variable d'instance dans la vue

# View 
... 
... 

<%= link_to 'Edit User', edit_users_main_path(@user), class: "btn" %> 
<%= link_to 'User Address', users_main_contacts_path(@user), class: "btn" %> 
<%= link_to 'User Business', users_main_businesses_path(@user), class: "btn" %> 
<%= link_to 'Delete User', @user, method: :delete, data: { confirm: 'Are you sure?' }, class: "btn" %> 

... 
+0

Merci, il me manquait la partie @user sur mon link_to – bradpotts