我处于这样一种情况,我需要将一个Object转换为字符串,以便我可以检查该对象的任何字段中的无效字符/ HTML.
这是我的垃圾邮件检查功能
def seems_spam?(str)
flag = str.match(/<.*>/m) || str.match(/http/) || str.match(/href=/)
Rails.logger.info "** was spam #{flag}"
flag
end
Run Code Online (Sandbox Code Playgroud)
此方法使用字符串并查找错误的数据,但我不知道如何将对象转换为字符串并传递给此方法.我试过这个
@request = Request
spam = seems_spam?(@request.to_s)
Run Code Online (Sandbox Code Playgroud)
请指导
谢谢
你可以试试 @request.inspect
这将显示可公开访问的字段
编辑:那么您是否尝试验证对象上的每个字段?
如果是这样,您可以获得字段和值对的散列,并将每个散列传递给您的方法.
@request.instance_values.each do |field, val|
if seems_spam? val
# handle spam
end
Run Code Online (Sandbox Code Playgroud)
如果你问的是实现to_s方法,Eugene已经回答了它.
| 归档时间: |
|
| 查看次数: |
23663 次 |
| 最近记录: |