【发布时间】:2012-03-13 19:22:57
【问题描述】:
我正在尝试验证用户的 Twitter 用户名并编写了自定义验证。然而,即使它似乎在 irb 会话中工作,它也不起作用。这是我的代码
def twitter_user
begin
@t = Twitter.user :twitter
rescue Twitter::Error::NotFound => e
@t = nil
end
errors.add(:twitter, (" username does not exist")) if @t.nil?
end
我也试过这个:
def twitter_user
errors.add(:twitter, (" username does not exist")) unless begin Twitter.user :twitter
rescue Twitter::Error::NotFound => e
end
end
即使 Twitter 用户名有效,也会出现此错误。谁能解释为什么?感谢您的帮助。
编辑:我已将其缩小到传递的参数:twitter,不是用户的输入。如何获取用户传递的值?
【问题讨论】:
-
begin; Twitter.user :twitter; rescue Twitter::Error::NotFound; errors.add(:twitter, "username does not exist"); end -
这最终会出现同样的问题。我想知道我是否忽略了什么。只是看到它在 irb 会话中起作用,我很困惑。
-
尝试 errors.add_to_base("username does not exist").. 这将向对象添加错误.. 对于特定字段 errors.add(:twitter, "username does not exist" )。我希望这段代码在模型中
-
谢谢,但这也行不通。
-
在我看来,您正在寻找一个名为“twitter”的 Twitter 帐户。这真的是你想要的吗?
标签: ruby-on-rails validation model twitter