未应用文件的更新版本

Updated version of file is not applied

我有文件,应该在更新实例属性后更新 它看起来像这样:

controller.rb

def update 
  if UpdateNewspaperDesign.new(newspaper_design, newspaper_design_params).call
    #render response
  end
end

class UpdateNewspaperDesign
  def initialize(newspaper_design, params)
    @newspaper_design = newspaper_design
    @params = params
  end
  def call
    newspaper_design.assign_attributes(params)
    File.open(File.join(Rails.root, 'tmp', "newspaper-design-#{Time.now.to_i}.css"), 'w') do |file|
      file.write(css(newspaper_design))
      newspaper_design.css = file
    end
    newspaper_design.save
  end
  private
  attr_reader :newspaper_design, :params
  def css(newspaper_design)
    NewspaperDesignCssCompiler.new(newspaper_design).call
  end
end

然后我在布局中包含 css

= stylesheet_link_tag newspaper.design.css_url, media: 'all'

正如我在控制台中看到的那样:css url 已更新,但插入到布局中的 url 未更新。

文件替换为临时文件 - 这就是我修复它的方法