我正在使用highvoltage gem
进行静态页面服务。它的工作,但网址是丑陋的。目前url
如下:
本地主机:3000 /页/条款和条件语言环境= EN
但我希望网址如下:
本地主机:3000 / EN /页/条款和 - 条件
在我编写的路线文件中
scope ":locale", locale: /en|bn|hi/ do
match "pages/:id" => 'pages#show', :as => :page, :format => false
end
然后在视图中写道:
<%=link_to "Terms & Conditions", page_path(:id=>'terms-and-conditions')%>
在我写的页面控制器中
def show
render params[:id]
end
我现在可以做些什么来解决这个问题
答案 0 :(得分:1)
我在GitHub上更新了这个问题: https://github.com/thoughtbot/high_voltage/issues/144
以下是我在GitHub上发布的说明:
# app/controllers/application_controller.rb
before_action :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
# config/initializers/high_voltage.rb
HighVoltage.configure do |config|
config.routes = false
end
# config/routes.rb
scope "/:locale", locale: /en|bn|hi/ do
get "/pages/:id" => 'high_voltage/pages#show', :as => :page, :format => false
end
# app/views/pages/about.html.erb
<%= t 'hello' %>
/config/locale/en.yml
/config/locale/bn.yml
最后一个注意事项是know issue有高电压。
您需要指定此<%= link_to 'About Us', page_path(id: 'about') %>
如果您仍然遇到此问题,请告诉我,我可以添加更多详细信息。