Jquery 如何为rails的形式_中的两个输入设置相同的值
我需要为rails视图中的表单_中的两个输入设置相同的值Jquery 如何为rails的形式_中的两个输入设置相同的值,jquery,ruby-on-rails,forms,devise,Jquery,Ruby On Rails,Forms,Devise,我需要为rails视图中的表单_中的两个输入设置相同的值 .form-box = form_for(resource, as: resource_name, url: registration_path(:user), html: { class: "guest-form", autocomplete: "off" }) do |f| = f.text_field :username, placeholder: "Username"
.form-box
= form_for(resource, as: resource_name, url: registration_path(:user), html: { class: "guest-form", autocomplete: "off" }) do |f|
= f.text_field :username, placeholder: "Username", class: "input"
= f.password_field :password, class: "input", style: 'visibility: hidden'
= f.submit "Enter", class: "signup"
我需要将:password设置为与:username相同的值。不使用jquery或重写designe就可以做到这一点吗?例如,对于value:attribute?您可以通过简单地传递
value
属性来设置输入的值:
.form-box
= form_for(resource, as: resource_name, url: registration_path(:user), html: { class: "guest-form", autocomplete: "off" }) do |f|
= f.text_field :username, placeholder: "Username", class: "input"
= f.password_field :password, class: "input", style: 'visibility: hidden', value: f.object.username
= f.submit "Enter", class: "signup"
根据您的用户模型,您可以执行以下操作:
class User
...
before_validation :init_password, on: :create
private
def init_password
self.password = username
end
end
并删除表单的字段
这必须做到这一点。它不起作用,因为提交密码后\u字段为空。我收到验证错误我猜您根本不需要
f.password\u字段
。在这种情况下,这是控制器的工作(设置用户默认密码)。我正在使用Desive完成这项工作。我正在寻找一种不凌驾于设计控制器之上的方法好吧,那好吧,这是你的决定。使用f.hidden\u字段
而不是f.password\u字段
,例如:f.hidden\u字段:密码,值:f.object.username
。但是,它可能不会改变任何东西,因为这只是隐藏f.password\u字段的更好方法。剩下的在你的控制器里。这正是我要找的。非常感谢你!不客气。请选择答案是否正确(表示感谢的最佳方式)。