Ruby on Rails文件读取操作未正确显示

时间:2018-04-17 13:57:56

标签: ruby-on-rails file-io

我有一个文本文件(我的其他功能的输出),需要通过ajax调用显示。好吧,它显示的是内容,但不是它的显示方式。我的文本文件格式正确。这里是我的代码的一瞥,任何帮助将不胜感激

控制器:

require "rinruby"
class MedicationsController < ApplicationController
def  ndc_crawl
ndc = NDCCode.find_by(ndc_code: params[:ndc])
ndc.crawl
file_content=File.read("#{Rails.root}/product_info.txt") 
puts     file_content   
render text: {result: file_content}
end
end

型号:

require "rinruby"
class NDCCode < ActiveRecord::Base
self.table_name='ndc_codes'
def crawl
R.eval "library(rvest)"
R.eval "library(stringr)"
R.eval "load('app/models/rdata/ndc_crawler.RData')"
R.eval "ndc_crawler('#{ndc_code}')"
end
end

查看:

$('#medications_live tbody').on('click', 'a.ndc-link', function(e) {
e.preventDefault();
$.ajax({
url: '/medications/ndc_crawl',
data: { ndc: $(this).data('product-service-id') },
dataType: 'html',
success: function(response) {
$('#myModal1').modal('show').find('.modal-body').html(response);

=============================================== ===================

输出我正在展示 https://github.com/ravi236/gitravi/blob/master/output 我想要的输出是 https://github.com/ravi236/gitravi/blob/master/Output_supposed_to_be.txt

这是代码,所以我可以在.txt文件中获取格式化数据

1 个答案:

答案 0 :(得分:0)

您需要将纯文本转换为html才能获得所需的输出。只需用换行符标记替换特殊字符。

render plain: {result: file_content.gsub(/\n|\r/, '<br>')}

注意:自{5.1}以来不推荐使用render :text。请改用render :plain