Amirol Ahmad
2014-Sep-10 15:28 UTC
[ERROR] Unpermitted Parameters: profile (NestedAttributes)
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-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/041f0101-a81a-48a5-960d-99f386923860%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.