Ruby on rails 防止在通过嵌套属性创建用户时仅设计确认电子邮件
我可以选择创建具有嵌套属性的用户。 我只想跳过确认邮件。但是Ruby on rails 防止在通过嵌套属性创建用户时仅设计确认电子邮件,ruby-on-rails,ruby,devise,devise-confirmable,Ruby On Rails,Ruby,Devise,Devise Confirmable,我可以选择创建具有嵌套属性的用户。 我只想跳过确认邮件。但是 class ShipperOrder < ActiveRecord::Base belongs_to :user accepts_nested_attributes_for :user end class User < ActiveRecord::Base has_many :shipper_orders end class ShipperOrder
class ShipperOrder < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user
end
class User < ActiveRecord::Base
has_many :shipper_orders
end
class ShipperOrder
控制器
class ShipperOrdersController < ApplicationController
def create
@shipper_order = ShipperOrder.new(order_params)
if @shipper_order.save
flash[:notice] = "Shipper order created"
else
flash.now[:alert] = @shipper_order.errors.full_messages.join(", ")
render :error
end
end
private
def order_params
params.require(:shipper_order).permit({user_attributes: [:first_name, :email,
:last_name,:mobile_phone, :password, :terms_of_service, :password_reset_required
]}, :description)
end
end
class ShipperOrdersController
现在,我正在创建一个订单,若用户希望将该订单分配给数据库中不存在的用户,那个么。然后,我在嵌套的_属性的帮助下创建该用户。一切正常。我只想禁用此类用户的确认电子邮件 您可以添加属性访问器,如
class User < SomeClass
attr_accessor :skip_user_confirmation
before_save :skip_confirm
private
def skip_confirm
self.skip_confirmation! if self.skip_user_confirmation
end
end
class用户
一般来说,它应该可以工作,但您可能希望对其进行一些更改
结束
然后在控制器中添加到
用户属性
键:跳过用户确认
,这将是真或假
您可以添加属性访问器,如
class User < SomeClass
attr_accessor :skip_user_confirmation
before_save :skip_confirm
private
def skip_confirm
self.skip_confirmation! if self.skip_user_confirmation
end
end
class用户
一般来说,它应该可以工作,但您可能希望对其进行一些更改
结束
然后在控制器中添加到
user\u attributes
key:跳过用户确认
,它将是真或假
在数据库中保存用户的地方发布控制器操作在数据库中保存用户的地方发布控制器操作正是我所期待的,正是我所期待的