0

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

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

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

那么如何获取电子邮件的值并将相同的值也放入用户名字段中。请帮我。

4

1 回答 1

2

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

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

或(也在模型中):

def username
  email
end

但您可能更愿意问自己,为什么有两个对完全相同的事物的引用?看起来事情过于复杂了,为什么不完全丢失用户名呢?

于 2012-11-09T04:27:52.283 回答