Try self.build_user(:name=>attributes) , name or whatever the column
is.



On Feb 24, 3:27 pm, Stefan Frede <sfr...@gmail.com> wrote:
> Hi!
>
> I've got a not so unfamiliar multiple models in one form problem. Due
> to the complex forms railscast I've got it up and running for a one-to-
> many relationship but now I have a one-to-one relationship and I
> didn't get it done.
>
> Here is my code, perhaps someone can take a look and give me a hint
> what's wrong. I put what is going wrong into the code where I think it
> is belonging to. And I don't know if it matters but I'm running Rails
> 2.1.1.
>
> ##
> # Model
>
> class Subscription < ActiveRecord::Base
>   belongs_to :user
>
>   def user=(attributes)
>     ##
>     # !!! Here is something wrong
>     # - I get a Hash with all my fields here
>     # - attributes belongs to class HashWithIndifferentAccess
>     # - Whith self I get the error „undefined method
> `stringify_keys!'...“
>     # - Without self the subscription model is saved without the user
> model
>
>     self.build_user(attributes)
>   end
> end
>
> class Subscription < ActiveRecord::Base
>   has_one :subscription
> end
>
> ##
> # Controller
>
> class SubscriptionsController < ApplicationController
>   def new
>     @subscription = Subscription.new
>     @subscription.build_user
>
>     respond_to do |wants|
>       wants.html
>       wants.xml  { render :xml => @subscription }
>     end
>   end
>
>   def create
>     @subscription = Subscription.new(params[:subscription])
>
>     respond_to do |wants|
>       if @subscription.save
>         flash[:notice] = 'Subscription was successfully created.'
>         wants.html { redirect_to root_url }
>         wants.xml  { render :xml => @subscription, :status
> => :created, :location => @payment }
>       else
>         wants.html { render :action => "new" }
>         wants.xml  { render :xml => @subscription.errors, :status
> => :unprocessable_entity }
>       end
>     end
>   end
> end
>
> ##
> # View (Haml syntax)
>
> - form_for :subscription, @subscription, :url => subscriptions_path do
> |subscription_form|
>
>   ... subscription fields
>
>   - subscription_form.fields_for :user do |user_form|
>
>     ... user fields
>
> Every help is appreciated. Thanks in advance.
>
> Regards,
> Stefan
--~--~---------~--~----~------------~-------~--~----~
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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to