【问题标题】:Rails HTML not changing when I push to production当我推送到生产环境时,Rails HTML 没有改变
【发布时间】:2016-01-22 07:23:47
【问题描述】:

我在 ubuntu 上托管了一个 Rails 应用程序,并与 Apache2 和 Passenger 一起使用。我在更改我的一个视图以实际反映在服务器中时遇到问题。我不是在谈论 css,但生成的 html 并没有改变。我不知道该怎么办。我正在使用 turbolinks——尽管我不是在谈论 css。我有一个未在加载时呈现的 new.js.erb 文件,并且我对部分视图进行了更改,该部分视图也未在重新启动时呈现。所有这些都在开发中工作。

生产.rb

config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local       = false
config.action_controller.perform_caching = true
config.serve_static_files = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.log_level = :debug
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
config.active_record.dump_schema_after_migration = false

passenger-config restart-app重启服务器

编辑 1 不会加载的edit.js.erb

$("#deal_<%= escape_javascript @deal.id.to_s %>").fadeOut("slow", function() {
    var div = $("<%= escape_javascript render partial: 'edit_deal', locals: {deal: @deal} %>").hide();
    div.find('.save_deal_link').first().click(function(event) {
        $(this).closest('form').submit();
        event.preventDefault();
        // Prevent link from following its href
    });
    $("#deal_<%= escape_javascript @deal.id.to_s %>").replaceWith(div);
    div.fadeIn("slow");
}); 

当我尝试按照 baseurl/accounts/2/deals/1/edit.js 直接访问此代码时,我收到错误 422,这似乎只是日志中的标准 CORS 错误。我认为解决这个问题的更好线索是,在部分_deal.html.erb 中,这些更改没有反映在生产环境中。

编辑 2 我注意到单击处理程序没有为发出 ajax 请求的链接触发,并且生产服务器似乎正在为 new.js.erb 提供服务——只是视图(.html.erb)中的变化似乎并不无论我上传多少次视图文件夹都会得到服务

【问题讨论】:

  • 您是否专门在视图中呈现该文件?如 ?此外,您的 new.js.erb 文件是否从控制器操作(例如 ajax 请求)运行?如果是这种情况,您是否尝试运行会告诉控制器运行 .js.erb 文件的请求?
  • 不,我有一个试图呈现它的 ajax 请求。但它也没有对 html.erb 进行更改
  • 您的 new.js.erb 代码看起来如何?您是否正确转义 javascript 以呈现部分内容?
  • 是的,这一切都被逃脱了——它在开发和本地机器上运行良好。它没有呈现任何内容,就好像文件不存在一样。它也是edit.js.erb——新作品。生病添加代码
  • 哦……哦,天哪。我发现了问题。我将部分的位置从 /accounts/_deal.html.erb 更改为 /application/_deal.html.erb 并忘记在生产中删除旧的。呵呵。

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

我将部分的位置从 /accounts/_deal.html.erb 更改为 /application/_deal.html.erb,但忘记在生产中删除旧的。

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2020-04-04
    • 2014-10-12
    相关资源
    最近更新 更多