0

私はbreadcrumbs_on_rails gemをRailsアプリに追加してセットアップしたところ、うまく機能しました。次に、変更を heroku にプッシュしました。ブレッドクラムは同じように機能しますが、スタイルが異なります。サーバーをローカルで実行したときに得られるスタイリングを好みます。違いは次のとおりです。Heroku での表示 現地での様子

1 つ目は Heroku で、2 つ目は私が好むローカルのものです。私は twitter-bootstrap-rails gem も使用しており、次の github リンク ( twitter-bootstrap-rails ) を読みました。twitter-bootstrap-rails では、twitter-bootstrap を使用して同じヘルパー メソッドを呼び出すことができるため、breadcrumbs_on_rails は不要です。リンクのスクリーンショットは次のとおりです:twitter-bootstrap-rails github readme それでも、breadcrumbs_on_rails gem を gemfile から取り出してローカル サーバーを再起動しても、スタイリングは同じまま (私の好み) のままで、Heroku でも変わりません。Heroku にデプロイされたときにローカルのスタイリングが表示されるように、何が起こっているのか、および/またはそれを修正する方法についてのアイデアはありますか?

4

1 に答える 1

1

よし、わかった!これは、何が起こっているかを評価するための私の最善の試みであり、それから、私が望んでいたように機能させるために何をしたかについて説明します. 実際、twitter-bootstrap-rails gem (以降、twitter ブートストラップと呼ぶ) には独自のバージョンのブレッドクラムがあり、私のローカル環境では、ハイブリッド型のブレッドクラムが twitter ブートストラップとbreadcrumbs_on_rails gem (以降、ブレッドクラムと呼ばれます)。そのため、ブレッドクラムの素敵な Twitter ブートストラップ スタイルを取得していましたが、ブレッドクラムの gem で提供される追加のヘルパー メソッドも取得していました (メソッドの外側の各フォーム コントローラーの上部にデフォルトのブレッドクラムを追加するなど)。

しかし、Heroku では、breadcrumbs gem が排他的に使用されていたようです。つまり、(私にとっては) あまり望ましくない、別の、breadcrumbs のスタイリングと、もちろんすべてのヘルパー メソッドを取得していたことを意味します。

それで、私が最終的に思い通りに機能させるための解決策として私がたどり着いたのは、次のことでした。

a) gemfile からパンくずリストの gem を削除し、かつ

b) Twitter ブートストラップ gem をアセット グループから外して、gemfile のメイン フローに移動します。

c) また、いくつかのフォーム コントローラーの上部にあったヘルパー メソッドを、フォーム コントローラーのアクション メソッド内に移動する必要がありました。次のように、適用される各アクションから呼び出すことができるメソッドに一般的なものを配置することで、まだ DRY にすることができました。

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 に答える