I just realized it too... so bad for me :) Ok, I thought there would be another more convenient way but as I can now see there is not
Regards, thanks everyone On 22 Mar, 21:21, Stephan Wehner <li...@ruby-forum.com> wrote: > Piotr Mąsior wrote: > > Model is passed by @model variable with nested attributes so it is > > like: > > > @model = model.new > > @model.build_another > > > at form it is looped through like > > > - form_for @account, :url => { :action => @given_action , :controller > > => 'admin'} do |f| > > - f.fields_for :company do |o| > > %label{:for => "company|name"}= > > Company.human_attribute_name(:name) > > = o.text_field :name, :named => "company|name" > > - o.fields_for :city do |x| > > %label{:for => "company|city|name"}= > > City.human_attribute_name(:name) > > = x.text_field :name, :named => "company|city|name" > > > jquery is responsible for communication and requesting my particular > > methods so it calls appropriate model basing on something like > > params[:model], doajaxing method knows how to deal with nested > > attributes > > > so it request from controller some action like > > doajaxing_for_createmodel and it looks like: > > > def doajaxing_for_createmodel > > doajaxing("account") > > end > > > and doajaxing itself looks like > > > def doajaxing(object_name) > > if request.xhr? > > sended = params[object_name.to_sym] > > object_name = object_name.camelize > > @process = object_name.constantize > > @process = @process.new(sended) > > Because you have "@process.new", the "on_create" validations will be > triggered. > > If you are updating an existing record, use > @process = @process.find(...model-id...) > where model-id is usually taken from "params" (params[:id]). > Then assign the new values to @process. > > Then the "on_create" validations will not be triggered. > > > @process.valid? > > ##some other processing > > if @process.errors[current_given] > > #process message and field > > #some @response is given in json > > render :json => @response > > end > > end > > > that it work... I wonder if I can use instead of @process.valid? > > something else > > Hope that helps. I think your "doajaxing" method needs to know about the > two cases, create/update. > > Stephan > -- > Posted viahttp://www.ruby-forum.com/. -- 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-t...@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.