当使用breadcrumbs_on_rails gem时,为什么我的面包屑在本地的样式与在heroku上的样式不同?

时间:2013-10-16 07:11:44

标签: css ruby-on-rails-3 heroku breadcrumbs twitter-bootstrap-rails

我将breadcrumbs_on_rails gem添加到我的Rails应用程序并进行设置,效果很好。然后我将我的更改推送到heroku,而面包屑仍然以相同的方式运行,它们的风格不同。我更喜欢在本地运行服务器时获得的样式。区别在于:How it looks on Heroku How it looks locally

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

1 个答案:

答案 0 :(得分:1)

是的,我明白了!这是我对评估正在发生的事情的最佳尝试,然后我会按照我的方式进行,以使其以我想要的方式工作。事实上,twitter-bootstrap-rails gem(以下称为twitter bootstrap)确实有自己的面包屑版本,在我的本地环境中,在twitter bootstrap和breadcrumbs_on_rails gem之间使用了各种各样的面包屑(以下称)引用为breadcrumbs)。所以我为面包屑获得了很好的twitter引导样式,但也获得了breadcrumbs gem提供的额外帮助方法(比如在任何方法之外在每个表单控制器的顶部添加默认面包屑)。

然而,似乎在Heroku中,面包屑宝石被专门使用,这意味着我得到了不同的,不太令人满意的(对我而言)造型的面包屑,当然还有所有辅助方法。 / p>

所以我最终得到的解决方案就是按照我想要的方式工作:

a)从我的gemfile AND

中删除breadcrumbs gem b)将twitter bootstrap 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