在rails上的文本字段中添加值

时间:2013-11-20 07:12:57

标签: ruby-on-rails devise

首先,我想说的是我在RoR上非常棒。

我试图将值“@ example.com”添加到注册页面上的文本字段,因此只有拥有“example.com”邮件的人才能确认他们的邮件地址。我正在使用设计宝石。

<%= f.text_field :email, :style => "font-size:2.0em", :autocomplete => "off" %>

如果不可能,另一种方法是在电子邮件文本框中验证“... @ example.com”,这样用户就无法使用其他邮件创建和确认帐户。

我已经在互联网上搜索过它了,但我是新手,我无法理解我该怎么做。抱歉我的英语不好。

5 个答案:

答案 0 :(得分:1)

如果你的 f 对象有值,那么它会自动显示在字段中,否则你可以使用:value =&gt; “ABHC”

答案 1 :(得分:1)

在config / initializers / devise.rb

config.email_regexp = /^([\w\.%\+\-]+)@example.com$/i

希望有帮助

答案 2 :(得分:0)

这是一个验证问题。您可以强制执行两种类型的验证(前端和后端,以使您的功能失效保护

在用户模型中

validates :email, format: { with:     /\A\w+@example\.com\z/, 
                            message: "example.com domains only" }

在视图文件中

<%= f.text_field :email, :style => "font-size:2.0em", :autocomplete => "off", :pattern => "\A\w+@example\.com\z" %>

答案 3 :(得分:0)

你可以这样做:占位符=&gt; '@ example.com'

所以你的代码将是这样的

<%= f.text_field :email, :style => "font-size:2.0em", :placeholder => '@example.com', :autocomplete => "off" %>

答案 4 :(得分:0)

在您的用户模型中

email_regex = /^([\w\.%\+\-]+)@example.com$/i
validates :email, format: { with: email_regex, :message => "email domain must be example.com" }