No problem :) refer this for more info http://www.sitepoint.com/complex-rails-forms-with-nested-attributes/#adding-an-address
On Wed, Sep 10, 2014 at 9:58 PM, Amirol Ahmad <9w2...@gmail.com> wrote: > Ah, now the error has gone after making some change at *user.rb* > > class User < ActiveRecord::Base > > has_one :profile > accepts_nested_attributes_for :profile, update_only: true, > allow_destroy: true > > validates :username, :uniqueness => { :case_sensitive => false } > end > > Thanks for the help > > > > On Thursday, September 11, 2014 12:10:26 AM UTC+8, Vivek Sampara wrote: >> >> Ahmad, >> >> the parameters you're sending from your form should be like this : >> >> {"utf8"=>"✓", "authenticity_token"=>"23oUfOBaYAmcrfhW3R11F1x53lJAT7 >> 60Shv0HqkmEzw=", "user"=>{"username"=>"lisa", >> "profile_attributes"=>{"full_name"=>"Evalisa Andriaasdasda"}}, >> "commit"=>"Save", "id"=>"7"} >> >> Update your form ( name attribute ) >> >> >> On Wed, Sep 10, 2014 at 8:58 PM, Amirol Ahmad <9w2...@gmail.com> wrote: >> >>> Hi guys, >>> >>> Im having a problem with my rails apps where error "Unpermitted >>> Parameters: profile" appear >>> >>> *UsersController* >>> >>> def edit >>> if @user >>> render >>> else >>> redirect_to admin_users_path, notice: "User profile not found." >>> end >>> end >>> >>> def update >>> # Rails.logger.debug "===> (1)" >>> if @user.update(user_params) >>> redirect_to edit_admin_user_path, notice: >>> "#{@user.profile.nama_penuh} account has been updated." >>> else >>> render 'edit' >>> end >>> end >>> >>> private >>> >>> def set_user >>> @user = User.find(params[:id]) >>> end >>> >>> def user_params >>> params.require(:user).permit(:id, :login, :email, >>> profile_attributes: [:user_id, :full_name]) >>> end >>> >>> *edit.html.erb* >>> >>> <%= form_for :user, url: admin_user_path(@user), method: :patch do |f| %> >>> >>> <div class="form-group"> >>> <%= f.label :username %><br> >>> <%= f.text_field :username, :class => "form-control" %> >>> </div> >>> >>> <%= f.fields_for :profile, @user.profile do |profile| %> >>> >>> <div class="form-group"> >>> <%= profile.label :full_name %><br> >>> <%= profile.text_field : full_name, :class => "form-control" %> >>> </div> >>> <% end %> >>> >>> <div class="form-group"> >>> <%= f.submit "Save", :class => "btn btn-primary" %> >>> </div> >>> >>> <% end %> >>> >>> >>> *User.rb* >>> >>> class User < ActiveRecord::Base >>> >>> has_one :profile >>> accepts_nested_attributes_for :profile #, update_only: true, >>> allow_destroy: true >>> >>> validates :username, :uniqueness => { :case_sensitive => false } >>> >>> end >>> >>> >>> *Profile.rb* >>> >>> class Profile < ActiveRecord::Base >>> belongs_to :user >>> >>> validates_presence_of :user_id >>> validates_presence_of :full_name >>> end >>> >>> >>> *development.log* >>> >>> Started PATCH "/master/users/7" for 127.0.0.1 at 2014-09-10 23:18:26 >>> +0800 >>> Parameters: {"utf8"=>"✓", "authenticity_token"=>" >>> 23oUfOBaYAmcrfhW3R11F1x53lJAT760Shv0HqkmEzw=", >>> "user"=>{"username"=>"lisa", "profile"=>{"full_name"=>"Evalisa >>> Andriaasdasda"}}, "commit"=>"Save", "id"=>"7"} >>> [1m [35mUser Load (0.3ms) [0m SELECT `users`.* FROM `users` WHERE >>> `users`.`id` = 7 LIMIT 1 >>> [1m [36mUser Load (0.3ms) [0m [1mSELECT `users`.* FROM `users` >>> WHERE `users`.`id` = 6 ORDER BY `users`.`id` ASC LIMIT 1 [0m >>> *Unpermitted parameters: profile* >>> [1m [35m (0.2ms) [0m BEGIN >>> [1m [36mUser Exists (0.4ms) [0m [1mSELECT 1 AS one FROM `users` >>> WHERE (`users`.`username` = 'lisa' AND `users`.`id` != 7) LIMIT 1 [0m >>> [1m [35m (0.2ms) [0m COMMIT >>> [1m [36mProfile Load (0.4ms) [0m [1mSELECT `profiles`.* FROM >>> `profiles` WHERE `profiles`.`user_id` = 7 LIMIT 1 [0m >>> >>> >>> I really dont know what is the mistake. Please help. >>> >>> Thanks in advance! >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Ruby on Rails: Talk" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to rubyonrails-ta...@googlegroups.com. >>> To post to this group, send email to rubyonra...@googlegroups.com. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/rubyonrails-talk/041f0101-a81a-48a5-960d- >>> 99f386923860%40googlegroups.com >>> <https://groups.google.com/d/msgid/rubyonrails-talk/041f0101-a81a-48a5-960d-99f386923860%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-talk+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rubyonrails-talk/46091a65-4e1b-4487-b2f2-b8dc96c1b71f%40googlegroups.com > <https://groups.google.com/d/msgid/rubyonrails-talk/46091a65-4e1b-4487-b2f2-b8dc96c1b71f%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAFKVRj-k2pN3NyMrZiWE_m9Er6YLyDTd5f%2BYX3ZnMi3%2BsCFLSg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.