私のモデルは次のとおりです。
class Country < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
has_many :regions
end
class Region < ActiveRecord::Base
belongs_to :country
end
ルートの一部
resources :countries, :path => ''
resources :countries, :path => '', :only => [] do
resources :regions, :path => ''
resources :regions, :path => '', :only => [] do
resources :houses do
collection do
get 'tags/:tag', to: 'houses#index', as: :tag
end
end
リージョンコントローラー:
def show
@country = Country.find(params[:country_id])
@region = Region.find(params[:id])
end
メインナビゲーション:
%ul.nav
%li
= link_to "home", root_path
%li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "/nl"}
= t('navigation.nav.houses')
= @region.name
メイン ナビゲーションのリージョン名 (@region.name) は、コントローラー変数によって入力されます。これは正常に動作します..だから、地域ごとに素敵な「カスタム」メインナビゲーションを取得します。しかし今、私は国別のパスも行いたい...だから、訪問者が /locale/italy の名前で「イタリア」をメインナビゲーションに表示すると、どうすればこれを行うことができますか?ビューレイヤーの条件?
メイン ナビゲーションでは、変数 @region.name は、コントローラー ロジックに基づいて正しいリージョン名を示します。しかし、訪問者が国のページにいる場合、どのように対処しますか? メインのナビゲーション コードは @region.name です。
ありがとう..レムコ