我的网址是这个
/locale/country/
/locale/country/region/
模特:
class Region
belongs: country
end
class Country
has_many: regions
end
区域表中的外键country_id
这是布局文件中nav部分的一部分。
//block region
- if params[:region].present?
%ul.thumbnails
- @region.tags.find_each(:conditions => "active_house = true") do |a|
%li.span2
.thumbnail
- a.attachments.limit(1).each do |b|
= image_tag(b.file.url)
.caption
%p
#{link_to a.h1, tag_country_region_houses_path(@country, @region, a.name), :class => 'btn-nav', class: active_class?(tag_houses_path(a.name))}
//block country
- else
%ul.thumbnails
- @country.tags.find_each(:conditions => "active_house = true") do |a|
%li.span2
.thumbnail
- a.attachments.limit(1).each do |b|
= image_tag(b.file.url)
.caption
%p
#{link_to a.h1, tag_country_houses_path(@country, a.name), :class => 'btn-nav', class: active_class?(tag_houses_path(a.name))}
当访问者在路径/本地/国家/地区时我想要显示块国家/当游客在/ locale / country / region时我想显示块区域。
我认为if params[:region].present?
会做到这一点。但不......我怎么能意识到这一点?
答案 0 :(得分:0)
尝试这样做:
if params.has_key?(:region)
或者如果它存在但是包含nil你可以测试它:
unless params[:region].nil?
答案 1 :(得分:0)
它不应该是
class Region
belongs_to: country
end
而不是
class Region
belongs: country
end
干杯
答案 2 :(得分:0)
行前
- if params[:region].present?
在您看来,尝试打印线条,
- p params[:region]
- p params[:region].present?
可以给你一些关于行为的线索。