Rails 辅助循环 html 出现在我的视图中

Rails helper loops html is appearing on my view

你好所以我正在使用一个辅助模块 运行 一些功能...... 但是不知何故,这部分帮助程序代码出现在我的 html..

for i in 0..minedTextSize

这是在html

这是html调用辅助方法。

<h1>TEST TEST</h1>
<%=extract_value("filePath")%>

在我的控制器中,我只包含了辅助方法

class MainPageController < ApplicationController
  include ExtractHelper

  def index
  end
end

有什么想法吗?

更新########

这是我的帮手ruby代码

module ExtractHelper
  require 'rubygems'
  require 'nokogiri'
  require 'open-uri'
  require 'pdf-reader-turtletext'

  def download_pdf(url)
    found = false
    page = Nokogiri::HTML(open("http//www.somesite.com")
    puts page.class   # => Nokogiri::HTML::Documents

    for i in 0..(page.css('a').size - 1)
      if(page.css('a')[i]['href'][-4,4] != ".pdf")
        next
      else
        found = true
        file_link = page.css('a')[i]['href']
        file_link.gsub!(' ','%20')
        link = "http//www.somesite.com/" + file_link # Generate the $
        puts link
        download = open(link)

       IO.copy_stream(download,"/home/ec2user/my_project/pdfFiles/Demo.pdf")
        puts file_link + " has been downloaded."
        @link = file_link + " has been downloaded."
        if found == true
          break
        end
      end  #if
    end     # for
  end    #def


  def extract_value(filePath)
    filePath = "/home/ec2-user/my_project/pdfFiles/Demo.pdf"
    reader = PDF::Reader::Turtletext.new(filePath)

    textangle = reader.bounding_box do
      inclusive true
      page 4
      below "RIGHT HERE"
    end

    minedText = textangle.text
    minedTextSize = minedText.size - 1

    for i in 0..minedTextSize
      if minedText[i][0].include? "WEEK 1"
        puts minedText[i][1]
        @lastweek = minedText[i][1]
      end
      if minedText[i][0].include? "WEEK 2"
        puts minedText[i][1]
        @previousweek = minedText[i][1]
      end
    end
  end  #def

end     #module

您的 IO.copy_stream 中包含 /home/ec2user/my_project/pdfFiles/Demo.pdf 的引号不匹配。您还可以使用相同的方法获得一个没有闭包的开包。

Puts 打印到 stdout。您在视图中得到 0..36,因为 helper 正在返回其最后评估的行 (a for) 的值。明确地尝试 evaluating/returning 一些东西,例如:

def extract_value(filePath)
  # some initial code
  value = ''
  for i in 0..minedTextSize
    # some more code
    value = 'something'
  end
  "String concatenating some #{value}"
end