Как передать параметры в XML-файл? - PullRequest
0 голосов
/ 31 октября 2019

У меня есть такая работа: jobs / create_site_map.rb

    class CreateSiteMap
      @queue = :create_site_map
      def self.perform(slct_common_path, http_host, domain_name)
         ... some code ...
        q_jobs = TJob.q_job_site_map(m_site.id)
        q_jobs.each do |job|
        site_map_content =
"\n\t\t<url>
\t\t<loc>#{site_frontsiteurl}index.cfm?fuseaction=job.detail&amp;sgtno=#{job.shigoto_no}</loc>
\t\t<lastmod>#{job.job_dt.strftime("%F")}</lastmod>
\t\t<changefreq>daily</changefreq>
\t\t<priority>0.8</priority>
\t\t</url>\n"
        sitemap_data << site_map_content
      end
     end
   end

Я хочу перенести указанную выше переменную "site_map_content" в XML-файл (шаблон) для многократного использования, например:

<url>
<loc>#{site_frontsiteurl}index.cfm?fuseaction=job.detail&amp;sgtno=#{job.shigoto_no}</loc>
<lastmod>#{job.job_dt.strftime("%F")}</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>

Но как передать параметры в файл xl? Пожалуйста, помогите мне.

1 Ответ

2 голосов
/ 31 октября 2019

Создайте шаблон с помощью Erb следующим образом: -

template = Erb.new (File.read ('file_path')) # это файл yml

и затем передать данные в шаблон:

struct = OpenStruct.new(data)

YAML.load template.result(
   struct.instance_eval { binding }
)

Позже вы можете конвертировать yml в xml.

...