Jquery 如何为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"

我需要为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", 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字段的更好方法。剩下的在你的控制器里。这正是我要找的。非常感谢你!不客气。请选择答案是否正确(表示感谢的最佳方式)。