0

我将 breadcrumbs_on_rails gem 添加到我的 Rails 应用程序中并进行了设置,它运行良好。然后我将我的更改推送到heroku,虽然面包屑仍然以相同的方式运行,但它们的样式不同。我更喜欢在本地运行服务器时获得的样式。这是区别:Heroku 上的样子 它在当地的样子

第一个是 Heroku,第二个是我喜欢的本地的。我也在使用 twitter-bootstrap-rails gem,我在以下 github 链接 ( twitter-bootstrap-rails ) 中读到,对于 twitter-bootstrap-rails,breadcrumbs_on_rails 是不必要的,因为您可以使用 twitter-bootstrap 调用相同的辅助方法。这是链接的屏幕截图:twitter-bootstrap-rails github 自述文件 尽管如此,即使我从 gemfile 中取出 breadcrumbs_on_rails gem 并重新启动本地服务器,样式仍然保持不变(我喜欢它的方式),并且在 Heroku 上也没有改变。关于可能发生的事情和/或如何修复它的任何想法,以便我的本地样式是在部署到 Heroku 时显示的内容?

4

1 回答 1

1

耶,我想通了!这是我对正在发生的事情进行评估的最佳尝试,然后我将遵循我所做的以使其按照我想要的方式工作。似乎事实上 twitter-bootstrap-rails gem(以下称为 twitter bootstrap)确实有自己的面包屑版本,并且在我的本地环境中,在 twitter bootstrap 和 breadcrumbs_on_rails gem(以下简称被称为面包屑)。所以我得到了面包屑的漂亮 twitter 引导样式,但也得到了面包屑 gem 提供的额外帮助方法(比如在每个表单控制器的顶部添加默认面包屑,在任何方法之外)。

然而,似乎在 Heroku 中,面包屑 gem 被专门使用,这意味着我得到了不同的、不太理想的(对我来说)面包屑的样式,当然还有所有的辅助方法。

所以我最终想出的解决方案是让事情按照我想要的方式工作:

a)从我的 gemfile 中删除面包屑 gem 和

b) 将 twitter 引导 gem 移出资产组并进入 gemfile 的主要流程

c) 我还必须将我在一些表单控制器顶部的辅助方法移动到表单控制器上的操作方法中。我仍然可以通过将常见的那些放在一个方法中来处理它,我可以从它们应用的每个操作中调用该方法,如下所示:

class WebDeveloperJobsController < ApplicationController
  def index
    @web_developer = WebDeveloper.singleton
    @jobs = @web_developer.sorted_jobs
    add_necessary_breadcrumbs
  end

  def show
    @job = WebDeveloperJob.find(params[:id])
    add_necessary_breadcrumbs
    add_breadcrumb "Job", web_developer_job_path(@job)
  end

  def add_necessary_breadcrumbs
    add_breadcrumb "Education", web_developer_trainings_path
    add_breadcrumb "Projects", web_developer_projects_path
    add_breadcrumb "Endorsements", web_developer_endorsements_path
    add_breadcrumb "Videos", web_developer_videos_path
    add_breadcrumb "Jobs", web_developer_jobs_path
  end
end
于 2013-10-16T18:57:33.723 回答