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.

Reply via email to