attr_accessible で更新するフィールドがあるにもかかわらず、次のエラーが表示されます
Can't mass-assign protected attributes: utf8, _method, authenticity_token, profile, commit, action, controller, id
保存したくない他の属性が例外を発生させていると推測していますが、それらを除外するにはどうすればよいですか?
これは params ハッシュです
{"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"=>"1aabj2DxleZoDu/U0SzGXSZrPcesRKXkIXTRVbk9f0A=",
"profile"=>{"name"=>"Aaron Dufall",
"company"=>"Supreme Windows",
"location"=>"",
"professional_bio"=>""},
"commit"=>"Update",
"id"=>"1"}
profile_controller.rb
class ProfilesController < ApplicationController
respond_to :html
def edit
@profile = Profile.find(params[:id])
respond_with @profile
end
def update
@profile = Profile.find(params[:id])
if @profile.update_attributes(params)
flash[:success] = "Profile sucessfully updated"
redirect_to root_path
else
flash[:error] = "Profile failed to update"
render 'edit'
end
end
end
profile.rb
class Profile < ActiveRecord::Base
belongs_to :user
attr_accessible :name, :company, :location, :professional_bio
end