0

我有一个德语名称为'kontakt'的页面,但访问是与/ contact。 我开始飞翔的这个bug,在翻译思维和我做的变化:不重定向。该页面没有正确重定向。翻译在Refinerycms

(控制器)查询-controller.rb:改变

def find_page 
    @page = ::Refinery::Page.find_by_link_url("/kontakt") 
    end 

的i18n.rb:

config.enabled = true 
config.default_locale = :de 
config.current_locale = :de 
config.default_frontend_locale = :de 
config.frontend_locales = [:en, :de] 
config.locales = { :en => 'English', :de => 'Deutsch' } 

我改变了(模型)setting.rb:

def confirmation_subject(locale="de")... 

而不是'en'。

我将refinerycms中的重定向更改为/ kontakt。

我在浏览器中收到错误“页面没有正确重定向”。

控制台:

开始GET “/ KONTAKT” 为127.0.0.1,在2013年2月19日17时07分27秒+0100 处理由炼油厂:: PagesController#显示为HTML参数: 炼油厂::角色负荷(0.2毫秒)选择 “炼油厂”。*从“炼油厂”在哪里 “炼油厂”。“”标题“='炼油厂'LIMIT 1 Refinery :: User Load (0.2ms)SELECT“refinery_users”。* FROM“refinery_users”INNER JOIN “refinery_roles_users”ON“refinery_users”。“id”= “refinery_roles_users”。“user_id “WHERE ”refinery_roles_users“。” ROLE_ID “= 1个炼油厂::页面加载(0.4ms) SELECT ”refinery_pages“。* FROM ”refinery_pages“ INNER JOIN ”refinery_page_translations“ ON ”refinery_page_translations“。 ”refinery_page_id“= ” refinery_pages“。”id“WHERE”refinery_page_translations“。”locale“IN ('en','de')AND”refinery_page_translations“。”slug“='kontakt'AND ”refinery_pages“。”parent_id“IS NULL LIMIT 1重定向到 ../kontakt炼油厂::用户负荷(0.1ms)选择 “炼油厂用户”。*从“炼油厂用户”哪里“炼油厂用户”。“id”= 3极限1炼油厂::角色负荷(0.1ms)SELECT “refinery_roles”* FROM “refinery_roles”INNER JOIN“refinery_roles_users” ON “refinery_roles”。“id”=“refinery_roles_users”。“role_id”其中 “refinery_roles_users”。“user_id”= 3已完成302已在8ms中找到 (ActiveRecord:1.1ms)cache:[GET/kontakt] miss cache: [GET/KONTAKT] 小姐

development.log的日志:

开始GET “/ KONTAKT” 为127.0.0.1,在2013年2月19日17时07分27秒+0100 Refinery处理:: PagesController#显示为HTML参数: {“path”=>“kontakt”,“locale”=>:de} [1m [35mRefinery :: Role Load (0.1毫秒)[0米SELECT “refinery_roles”。* FROM “refinery_roles” WHERE “refinery_roles”。 “标题”= '炼油厂' LIMIT 1
[1分[36mRefinery ::用户负载(在0.2ms)[0米[1mSELECT “炼油厂用户”。* FROM “refinery_users” INNER JOIN “refinery_roles_users” ON “refinery_users”。 “ID”= “refinery_roles_users”。 “USER_ID” WHERE “refinery_roles_users”。 “ROLE_ID”= 1 [0米[1分[35mRefinery ::页 负载(在0.2ms)[0米SELECT “refinery_pages”。* FROM “refinery_pages” INNER JOIN “refinery_page_translations” ON “refinery_page_translations”。 “refinery_page_id”= “refinery_pages”。 “ID” WHERE “refinery_page_translations”。 “区域” IN ('en','de')和“refinery_page_translations”。“slug”='kontakt'AND “refinery_pages”。“parent_id”IS NULL LIMIT 1重定向到 //../kontakt [1m [36mRefinery :: User加载 (0.1ms)[0m [1mSELECT“refinery_users”。* FROM“refinery_users”WHERE “refinery_users”。 “ID”= 3 LIMIT 1 [0米[1分[35mRefinery ::角色负载 (0.1毫秒)[0米SELECT “refinery_roles”。* FROM “refinery_roles” INNER JOIN “refinery_roles_users” ON “refinery_roles”。 “ID”= “refinery_roles_users” “ROLE_ID” WHERE “refinery_roles_users” “USER_ID”= 3完成302在6ms的 。实测值(ActiveRecord的:为0.8ms)

我在文件中的翻译: en.yml and de.yml

我看过http://refinerycms.com/edge-guides/translate-refinery 中的信息,但我无法找到解决方案。

如果我尝试输入/ contact,即使进行了所有更改,效果也不错。

此外,在页面的形式中,验证正在读取英文值。

+0

难道是:'@page = :: Refinery :: Page.find_by_link_url(t.contact)'? – 2013-02-19 16:23:31

回答

0

我在我的网站上遇到了同样的问题,并尝试了很多不同的方法来解决它。最后,简单的解决方案奏效了。尝试这样做:

转到插件。 全选 - 勾选每个复选框 选择取消激活 测试网站 - 它可能会或可能不会工作 在这之后“重新激活”所有插件。

希望能解决它。我尝试过很多其他的事情之后做这个,它运行良好!我希望我会先这样做。

+0

“转到插件”是什么意思?你在使用一些IDE吗? – 2013-03-19 16:37:32

相关问题