获取一个字段中的值并在另一个字段中分配相同的值

时间:2012-11-09 04:09:09

标签: ruby-on-rails ruby-on-rails-3 devise erb

我希望用户名也是电子邮件,但我不想从用户那里得到两次值,所以我把它保存为隐藏字段,我尝试如下所示,它没有取值

  <div><%= f.label :email %><br />
  <%= f.text_field :email %></div>

  <div><%= f.hidden_field :username :value => :email%></div>

那么如何才能获得电子邮件的价值并在用户名字段中输入相同的值。请帮帮我。

1 个答案:

答案 0 :(得分:2)

在使用它们之前控制器中的params[:user][:username] = params[:user][:email]之类的东西会起作用......你可能宁愿在模型中加入这样的东西:

before_validation(:on => :create) do
  self.username = self.email
end

或(也在模型中):

def username
  email
end

但您可能更愿意问自己为什么有两个完全相同的引用?似乎它过于复杂了,为什么不完全丢失用户名?