在Rails 6中,可以使用嵌套表单来更新current_user的属性。嵌套表单允许在一个表单中同时更新多个关联模型的属性。
要在Rails 6中只更新current_user的嵌套表单属性,可以按照以下步骤进行操作:
class User < ApplicationRecord
has_one :profile
accepts_nested_attributes_for :profile
end
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:profile_attributes => [:attribute1, :attribute2]])
devise_parameter_sanitizer.permit(:account_update, keys: [:profile_attributes => [:attribute1, :attribute2]])
end
end
<%= form_for(current_user) do |f| %>
<%= f.fields_for :profile do |profile_fields| %>
<%= profile_fields.text_field :attribute1 %>
<%= profile_fields.text_field :attribute2 %>
<% end %>
<%= f.submit "Update" %>
<% end %>
这样,当用户提交表单时,只会更新current_user的嵌套表单属性。
关于Rails 6的更多信息,可以参考官方文档:Rails 6 Guides。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云