我有一个模型的自定义验证,我得到未定义的方法,这是没有任何意义的。规范未定义的方法`parameterize'
下面的代码
validate :unique_seo_url_from_title
def unique_seo_url_from_title
url = "#{title.parameterize}-#{region.parameterize}-#{country}"
errors.add(:title, "already in use") if SeoMapping.find_by_seo_url(url)
end
奇怪的是,如果我输出的URL,即提高URL它打印它完美所以它的工作。
希望有人能建议!
都是'title'和'region'字符串吗?什么是你得到的完整的错误信息(通常它说*未定义的方法... ...)。你在哪里把'raise url'放在哪里? – khustochka
是的。错误是:未定义的方法'parameterize'为nil:NilClass和如果我在URL和errors.add之间引发。 – Lee
对不起,它仍然不清楚在失败时调用哪个对象参数。你最好调试一下。 'find_by_seo_url'是Rails动态查找器还是您自己的方法? – khustochka