在我的Ruby on Rails应用程序中,我从HTML文档创建了一个String数组@dates。我想提取包含“Week of”的@dates的第一个元素,将其保存在单独的变量@cal中,然后在视图中打印它。以下是执行此操作的控制器方法:
def locations
page = Nokogiri::HTML(open("app/views/home/file.html"))
@dates = page.css(".boxx")
@cal = "THIS DOESNT WORK"
@dates.each do |d|
if d.include? "Week of"
@cal = d
break
end
end
我的问题是,尽管“Week of”在HTML文档中显示为文本,但当我在视图中打印@cal时,我仍然得到“这样做不行”。出于某种原因,包括?没有找到子串匹配。我不知道为什么。非常感谢你的帮助。
答案 0 :(得分:1)
这是因为根据代码,“d”不是字符串,而是Nokogiri :: XML :: Element
类型的对象您可以尝试以下修改
page = Nokogiri::HTML(open("app/views/home/file.html"))
@dates = page.css(".boxx")
@cal = "THIS DOESNT WORK"
@dates.each do |d|
if d.to_s.include? "Week of"
@cal = d
break
end
end