Sorry, :poly_xxx and :special_xxx were meant to be the same. Am Donnerstag, 8. März 2012 10:41:22 UTC+1 schrieb Atastor: > > Oooookay...this might be a bit over the top, but it might hint at another > problem more relevant. > > In general you use Mixins to share common functionality in Ruby/Ruby on > Rails. In several of my recent projects I choose abstract superclasses, > instead; at the same time I used polymorphism. I.e. > > class Parent < ActiveRecord::Base > self.abstract_class = true > > has_one :xxx, :as => :poly_xxx > has_many :documents, :through => :xxx, :readonly => false > > [more shared document handling stuff] > end > > class Xxx < ActiveRecord::Base > belongs_to :special_xxx, :polymorphic => true > > [...] > end > > class Document < ActiveRecord::Base > belongs_to :xxx > > [...] > end > > class ChildA < Parent > [special stuff A] > end > > class ChildB < Parent > [special stuff B] > end > > So far there had been no problems nesting the documents into ClassA and > ClassB etc.: > > class ChildBsController < ApplicationController > active_scaffold :child_b do |conf| > [...] > conf.nested.add_link(:documents) > end > [...] > end > > Everything worked like a charm, I could freely list, created and update > the attached documents via the nested action link. > > All of a sudden it stopped working; alas, because this was in a non-tested > part (*BLUSH*), I can't pin it down to any specific recent update. Doing > some debugging, though, I was able to localize it somewhere in the vicinity > of the abstract base_class, because the parameter hash contained a hash key > parent_id, where it so far contained the hash key child_b_id. > > As I was not able to locate the trouble spot. I switched to using a Mixin > instead of the abstract base_class, and everything is working fine again. > > Nevertheless, this seems to hint at an AS problem with finding the reverse > association under the described –not so common– circumstances. > > Regards > Michael > >
-- You received this message because you are subscribed to the Google Groups "ActiveScaffold : Ruby on Rails plugin" group. To view this discussion on the web visit https://groups.google.com/d/msg/activescaffold/-/i_6GjMaRjqYJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/activescaffold?hl=en.
