I'm using formtastic, I see that it seems simple enough with the standard
rails forms. I suppose I can ask on a formtastic gorup to see what they say.

Thanks

On Tue, Jun 15, 2010 at 1:20 AM, Rick DeNatale <[email protected]>wrote:

> On Mon, Jun 14, 2010 at 1:55 AM, Ali <[email protected]> wrote:
> > Hi guys.
> >
> > How do you update nested attributes for one object of a
> > has_many :through relationship? So I have an entity model and this
> > model can have many fact_values. The difference between fact and
> > fact_value is that the latter has an extra value attribute. This is
> > because facts can be common among many entities, but each entity can
> > have its own unique value for a specific fact. So my models are the
> > following:
> >
> > class Entity
> >  has_many :fact_values
> >  has_many :facts, :through => :fact_values
> > end
> >
> > class FactValue
> >  belongs_to :entity
> >  belongs_to :fact
> > end
> >
> > class Fact
> >  has_many :fact_values
> >  has_many :entities, :through => :fact_values
> > end
> >
> > Now I've specified that Entity
> > accepts_nested_attributes_for :fact_values. But I want it to accept
> > nested attributes for a single (pre-defined) fact_value and update
> > only that fact_value. The way I'm going about it right now is to have
> > a virtual attribute in my Entity model representing that one
> > fact_value and update that fact_value in the entity controller. I'm
> > wondering if there is any automatic way to accomplish what I'm trying
> > to do?
>
> Perhaps something along the lines of
>
> class Entity
>
>  has_many :fact_values
>  has_many :facts, :through => :fact_values
>   belongs_to :anointed_fact_value
>
>   accepts_nested_attributes_for :fact_values, :reject_if =>
> :not_updatable_fact_value
>
>   def not_updatable_fact_value(attrs)
>      attrs[:id] != anointed_fact_value_id
>   end
> end
>
>
>
> --
> Rick DeNatale
>
> Blog: http://talklikeaduck.denhaven2.com/
> Github: http://github.com/rubyredrick
> Twitter: @RickDeNatale
> WWR: http://www.workingwithrails.com/person/9021-rick-denatale
> LinkedIn: http://www.linkedin.com/in/rickdenatale
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
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/rubyonrails-talk?hl=en.

Reply via email to