Rails 4 が強力なパラメーターを処理する方法はおかしいようです。
def UsersController < ActionController::Base
def update
@user = current_user
if @user.update_attributes(user_profile_parameters)
redirect_to home_path, notice: "Your profile has been successfully updated."
else
render action: "edit"
end
end
private
def user_profile_parameters
params.require(:user).permit(:name, :password, :password_confirmation, :email)
end
end
Rails 3ではできないのだろうか?はい、1 行だけではなく、おそらく 3 行かかるでしょう。しかし、そこに新しいものは何もありません。これは、許可されたパラメーターの手動で作成されたリストにすぎません。実際、これは単なるハッシュですよね? それとも、もっと深い目的があるのでしょうか?