Ruby on rails Rails需要在运行时包含配置变量的外部ruby文件(变量名)
将数据导出到Excel时,我会提示用户选择其导出模板 每个导出模板都应该是一个单独的(ruby)文件,其中包含多个参数 在从下拉列表中选择文件后,我试图“要求”文件,但无法访问ruby文件包含的变量 根据以前用户的选择,在运行时包含ruby文件的最佳解决方案是什么? 目标是在运行时包含不同的参数集 我的代码:Ruby on rails Rails需要在运行时包含配置变量的外部ruby文件(变量名),ruby-on-rails,ruby,ruby-on-rails-3,global-variables,Ruby On Rails,Ruby,Ruby On Rails 3,Global Variables,将数据导出到Excel时,我会提示用户选择其导出模板 每个导出模板都应该是一个单独的(ruby)文件,其中包含多个参数 在从下拉列表中选择文件后,我试图“要求”文件,但无法访问ruby文件包含的变量 根据以前用户的选择,在运行时包含ruby文件的最佳解决方案是什么? 目标是在运行时包含不同的参数集 我的代码: Class ExportController < ApplicationController ... def step3 filepath = params[:templat
Class ExportController < ApplicationController
...
def step3
filepath = params[:template][:filepath]
if File.exists?(file=File.join(Rails.root, filepath))
logger.debug ("-----------> File FOUND : "+file.to_s)
# This gives: File FOUND : D:/Rails/test1/lib/export/test2.rb
require file
else
logger.debug ("-----------> File not found !!")
end
end
他认为:
<%= @test.to_s %>
什么也不给…:-(我认为您需要做的是调用文件内容的eval 但这不是一个好主意……它会评估ruby代码运行时 Ex(在rails控制台中):
我不确定这是否能解决您的问题。但据我所知,您需要为excel导出动态生成模板。我建议您查看一下。在本文中,您将了解如何动态生成模板,然后在rails中呈现它们
希望我理解正确,这个答案将帮助您。最后,我选择导入一个用YAML编码的配置文件。根据用户的选择,这似乎是导入变量的最佳方式(在运行时加载不同的YAML文件)
<%= @test.to_s %>
>eval('@test = 450')
> 450
>@test
> 450