Ruby on rails 视图中if条件的最佳使用?
设想/目标是: 当访问者在主页上时,头部导航中的链接是:“别墅”、“公寓”、“B&B” 当访客在国家/地区页面(例如:en/italy)时,头部导航中的链接是:“意大利别墅”、“意大利公寓”、“意大利B&B酒店” 当访问者位于区域页面(例如:en/italy/tuscany)时,头部导航中的链接是:“tuscany别墅”、“tuscany公寓”、“tuscany B&B酒店” 这是我的代码:Ruby on rails 视图中if条件的最佳使用?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Ruby On Rails 3.1,设想/目标是: 当访问者在主页上时,头部导航中的链接是:“别墅”、“公寓”、“B&B” 当访客在国家/地区页面(例如:en/italy)时,头部导航中的链接是:“意大利别墅”、“意大利公寓”、“意大利B&B酒店” 当访问者位于区域页面(例如:en/italy/tuscany)时,头部导航中的链接是:“tuscany别墅”、“tuscany公寓”、“tuscany B&B酒店” 这是我的代码: %ul.dropdown-menu.span3 - if @country.present? %l
%ul.dropdown-menu.span3
- if @country.present?
%li
%b
= link_to "#{t('navigation.nav.houses_all')} #{@country.name}", country_houses_path(@country)
%li.divider
%li.nav-header Thema's
- @country.tags.each do |a|
%li
#{link_to a.nav_content, tag_country_houses_path(a.country, a.name).capitalize}
- if @region.present? && @country.present?
%li
%b
= link_to "#{t('navigation.nav.houses_all')} #{@region.name}", country_region_houses_path(@country, @region)
%li.divider
%li.nav-header Thema's
- @region.tags.find_each(:conditions => "active_house = true") do |a|
%li
#{link_to a.nav_content, tag_country_region_houses_path(@country, @region, a.name)}
- else
%li
%b
= link_to "#{t('navigation.nav.houses_all')}", houses_path
%li.divider
所以我想知道的是,当@region值被设置时,我想显示nav@country值的一部分,我想显示另一部分。但当我在地区页面(en/italy/tuscany)时,也会显示@country导航部分,因为@country也已设置
我怎样才能解决这个问题 如果您只想在没有
@地区
菜单的情况下显示@国家
菜单,您可以尝试使用elsif
:
%ul.dropdown-menu.span3
- if @region.present? && @country.present?
%li
%b
= link_to "#{t('navigation.nav.houses_all')} #{@region.name}", country_region_houses_path(@country, @region)
%li.divider
%li.nav-header Thema's
- @region.tags.find_each(:conditions => "active_house = true") do |a|
%li
#{link_to a.nav_content, tag_country_region_houses_path(@country, @region, a.name)}
- elsif @country.present?
%li
%b
= link_to "#{t('navigation.nav.houses_all')} #{@country.name}", country_houses_path(@country)
%li.divider
%li.nav-header Thema's
- @country.tags.each do |a|
%li
#{link_to a.nav_content, tag_country_houses_path(a.country, a.name).capitalize}
- else
%li
%b
= link_to "#{t('navigation.nav.houses_all')}", houses_path
%li.divider