0

我的网址路径是这样的

/locale/country/
/locale/country/region/

楷模:

class Region
belongs: country
end

class Country
has_many: regions
end

区域表中的外键 country_id

这是布局文件中导航部分的一部分。

//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))}

当访问者在路径 /local/country 上时,我想显示块国家,当访问者在 /locale/country/region 上时,我想显示块区域。

我想if params[:region].present?会成功的。但是没有....我怎么能意识到这一点?

4

3 回答 3

0

尝试这样做:

if params.has_key?(:region)

或者如果它存在但包含一个 nil 你可以测试它:

unless params[:region].nil?
于 2013-04-10T11:18:52.023 回答
0

难道不应该是

class Region
belongs_to: country
end

代替

class Region
belongs: country
end

干杯

于 2013-04-10T12:41:37.307 回答
0

行前

- if params[:region].present? 

在您看来,尝试对线条进行着色,

- p params[:region]
- p params[:region].present?

这可以为您提供有关行为的一些线索。

于 2013-04-10T13:28:40.493 回答