Ruby on Rails Inline around_save Callback Yields a LocalJumpError -


रेल 3.0.5 & amp; रूबी 1.9.3, क्या around_save कॉलबैक इनलाइन कोड के साथ घोषणा के शरीर को परिभाषित करना संभव है?

यही है, मैंने देखा है कि यह मामला ठीक से काम करता है:

  around_save: around_save_body def surround_save_body 'save save before' उपज डालता है 'save save' end [114] pry (main) & gt; A = गतिविधि.फंड (57) = & gt; # & Lt; गतिविधि आईडी: 57, ... & gt; [115] प्राइ (मुख्य) & gt; सहेजने के बाद सहेजने से पहले a.save = & gt; सच है   

जबकि मैं शरीर को इनलाइन डालता हूं, मुझे एक स्थानीयजम्प एरर मिलता है:

  आसपास_सेव करें | गतिविधि | 'सहेजने से पहले' उपज डालता है 'बचाने के बाद' अंत [117] pry (main) & gt; A = गतिविधि.फंड (57) = & gt; # & Lt; गतिविधि आईडी: 57, ... & gt; [118] प्राइ (मुख्य) & gt; स्थानीय सिक्योरेशन सेव करने से पहले एक एस्केर: /home/maksim/hkn/website/app/models/activity.rb:47:in 'ब्लॉक में & lt; कक्षा: गतिविधि & gt;   

मैंने दूसरे उदाहरण में उपज से उपज गतिविधि बदलने की कोशिश की, लेकिन मुझे एक ही परिणाम मिला। क्या मेरे चारों ओर_एसएव शरीर को आसपास_सिव घोषणा के साथ इनलाइन होना संभव है?

इस मामले में ActiveRecord एक दूसरे तर्क के रूप में Proc पास करेगा, बस ऐसा करें:

  around_save करो | गतिविधि, ब्लॉक | 'सहेजने से पहले' ब्लॉक। डालता है 'सहेजने के बाद'    

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -