Ahmad,
the parameters you're sending from your form should be like this :
{"utf8"=>"✓",
"authenticity_token"=>"23oUfOBaYAmcrfhW3R11F1x53lJAT760Shv0HqkmEzw=",
"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 <[email protected]> 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/CAFKVRj8cNLNjPcK%3DkND_zQRRZTvwXWGu9gA9WJFAVbycZvD%2BvQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.