2015-07-28 2 views
0

J'ai un NewsItem modèle has_one :photo. Je voudrais permettre à un utilisateur de supprimer rapidement cette association d'un lien (sans avoir à utiliser un formulaire Edit NewsItem).Quelle est la bonne façon de supprimer une association has_one à partir d'un lien

Quelle est la manière correcte de supprimer cette association d'un lien sans ajouter une action de contrôleur supplémentaire juste à cet effet? Editer: J'ai déjà les 7 actions CRUD standard sur mon NewsItemController. Je ne veux pas ajouter une nouvelle action juste pour ce cas.

+0

Voulez-vous supprimer ' news_item' ou 'photo' associé ou les deux? – Pavan

+0

sans une action du contrôleur, il serait impossible –

+0

@Pavan Je veux juste supprimer l'association (la 'Photo'). – Undistraction

Répondre

3

Vous devrez envoyer effacer demande à un contrôleur # l'action

en action, vous pouvez simplement faire

news_item = NewsItem.find(params[:news_item_id]) 
    news_item.photo.destroy 

pour construire un détruire lien

link_to 'Destroy Photo', news_items_photo_path(news_item, news_item.photo), data: { confirm: 'Are you sure?' }, method: :delete 
+0

Je ne demande pas comment supprimer une association ActiveRecord d'un contrôleur. Je demande comment créer un lien qui supprime l'association en utilisant les actions Restful existantes. – Undistraction

+0

lien que vous pouvez construire comme - link_to 'Destroy Photo', news_items_photo_path (news_item, news_item.photo), données: {confirmez: 'Êtes-vous sûr?' }, méthode:: supprimer –