0
votes

Impossible de détruire des enregistrements pour certains modèles dans des rails

J'ai un modèle avec 2 associations et aucune validation, qui peut être créée, mais si je veux le détruire, je reçois une erreur "ActionCord :: recordnotdestroyed" J'ai donc essayé directement dans les rails crée un nouvel enregistrement pour ce modèle, puis exécutez Détruire, mais les annuels sans message d'erreur. Si je détruisez! Je reçois l'erreur. J'ai activé la journalisation de la requête MySQL, mais elle ne semble même pas que la suppression de la partie, donc je suppose que des rails empêchent de détruire ce modèle.

En tant que test, j'ai créé un modèle factice sans aucune association, avec une seule valeur de chaîne. Même problème dans la console des rails. Je dois noter que .Delete méthode fonctionne, mais non p>

alors j'ai commencé à analyser dans mon application Rails (je l'ai repris de quelqu'un, donc je ne suis toujours pas à 100% familier) et dans la console des rails J'ai essayé de détruire des enregistrements pour différents modèles et de réaliser certains que je peux détruire, certains pas. P>

Y a-t-il une façon de savoir pourquoi je ne suis pas capable de détruire ces archives? C'est vraiment étrange pour mon testmodel sans validation ou association. Y a-t-il n'importe où à chercher plus d'informations? J'ai essayé ceci: p> xxx pré>

voici mon code pour le modèle où j'ai trouvé un problème (einvoicontactact) et également mon testmodel p> xxx pré> et voici la sortie des rails et du journal MySQL p> xxx pré>

toute aide pour rechercher plus de détails, ou si cela peut être défini est apprécié. Cette application utilise CANCAN mais j'ai défini P>

can :manage, :all


2 commentaires

Avez-vous quelque chose comme ça? Observateur de rappel en dehors de vos modèles Stackoverflow.com/ Questions / 3913811 / ...


Pouvez-vous détruire un enregistrement d'un autre modèle ( client einvoicecontact )? Peut-être que vous avez une sorte de problème MySQL où les suppressions sont désactivées. Peut-être que cela aidera: Stackoverflow.com/Questtions/7948302/...


3 Réponses :


0
votes

fait testmodel.find (1) retourne quelque chose?

Essayez testmodel.find (1) .Destroy! (avec point d'exclamation) pour voir s'il vous indique quelque chose de plus.


3 commentaires

Oui, testmodel.find (1) renvoie un enregistrement et un testmodel.find (1) .Destroy! me fait que Activerecord erreur j'ai mentionné


TestModel a-t-il une relation avec un autre modèle?


Aucune relation du tout, c'est un modèle simple avec une seule valeur de chaîne



0
votes

Il semble que TestModel ait des associations.
Essayez ceci dans la console et vérifiez la sortie.

Testmodel.reflect_on_all_associations


1 commentaires

Il n'y a pas d'association ... J'ai finalement trouvé un problème, il était profond dans le code, ActiveRecord :: Base Class avait ajouté par défaut Faux pour détruire



0
votes

Problème résolu, ce code a ajouté ce code dans le dossier libérant qui empêche de détruire tout sauf que je règle dans le modèle Can_destroy à true

TRUE

Tout pour l'aide P>

class ActiveRecord::Base
  def can_destroy?
    false
  end

  before_destroy do
    can_destroy?
  end


0 commentaires