自定义验证不工作Rails模型

时间:2012-02-23 11:31:49

标签: ruby-on-rails validation model twitter

我正在尝试验证用户的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,不是来自用户的输入。如何获取用户传递的值?

1 个答案:

答案 0 :(得分:0)

您必须在模型中添加验证方法

代表:

validate :user_is_exist


def user_is_exist
  errors.add(:twitter, (" username does not exist")) if @t.nil?
end