首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails网站迁移和路由

Ruby on Rails网站迁移和路由
EN

Stack Overflow用户
提问于 2013-02-19 20:28:36
回答 1查看 93关注 0票数 0

在迁移之前,网站完全没问题。现在我们已经迁移到一个新的服务器,网站开始为一些链接显示这样的错误:http://babybum.proj.dev.doo.is/sao-paulo/planta

这是公平控制者对“面积”的定义。

代码语言:javascript
复制
    def area
       @area_name = BB_MENU_AREAS_SLUG.select {|k, v| v == params[:area]}.keys.first
       if @area_name
          @area = Snippet.find_by_identifier([params[:fair_location], @area_name.to_s].join('-'))
       else
          redirect_to root_path
       end
    end

BB_AREAS_SLUG的代码片段

代码语言:javascript
复制
BB_AREAS = {
:about          => {:link => "quem somos", :slug => "quem-somos"},
:expositors     => {:link => "expositores",:slug => "expositores"},
:map            => {:link => "planta", :slug => "planta"},
:activities     => {:link => "atividades",:slug => "atividades"},
:address        => {:link => "como chegar",:slug => "como-chegar"},
:support        => {:link => "apoio", :slug => "apoio"},
:optin          => {:link => "cadastro",:slug => "cadastro"},
:how_expositors => {:link => "como expor",:slug => "como-expor"},
:press          => {:link => "imprensa",:slug => "imprensa"},
:contact        => {:link => "contato",:slug => "contato"},
}

BB_MENU_AREAS       = BB_AREAS.each_with_object({}) { |(k, v), h| h[k] = v[:link]}
BB_MENU_AREAS_SLUG  = BB_AREAS.each_with_object({}) { |(k, v), h| h[k] = v[:slug]}

有人能帮帮我吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 21:04:44

这个问题可能是另一个Ruby版本。我没有1.8来测试它,但在旧服务器上,你可能有1.8.x,现在是1.9.x。你需要改变

代码语言:javascript
复制
@area_name = BB_MENU_AREAS_SLUG.select {|k, v| v == params[:area]}.keys.first

代码语言:javascript
复制
@area_name = Hash[BB_MENU_AREAS_SLUG.select {|k, v| v == params[:area]}].keys.first

或者甚至将其折射为:

代码语言:javascript
复制
@area_name = BB_MENU_AREAS_SLUG.find { |_, v| v == params[:area] }.first
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14957506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档