我有一个德语名称为'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,即使进行了所有更改,效果也不错。
此外,在页面的形式中,验证正在读取英文值。
难道是:'@page = :: Refinery :: Page.find_by_link_url(t.contact)'? – 2013-02-19 16:23:31