before_filter set_locale除控制器外 [英] before_filter set_locale except controller

查看:112
本文介绍了before_filter set_locale除控制器外的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的routes.rb

MyApp::Application.routes.draw do
 scope '(:locale)' do
  #all resources here
 end
 namespace :blog do
  resources :posts, :only => [:index, :show]
 end
end

我的application_controller.rb

class ApplicationController < ActionController::Base
 #
 #
 before_filter :set_locale

 private

 def default_url_options(options = {})
   {locale: I18n.locale}
 end

 def set_locale
   #code for detect locale here
 end
 #
 #
end

scope '(:locale)'中的所有资源都可以正常工作.

All the resources inside scope '(:locale)' is working fine.

但是我不想在namespace :blog 中使用语言环境,当我尝试单击博客链接时,我可以看到此URL http://localhost:3000/blog/posts?locale=en

如何删除namespace :blog...blog resource的语言环境?我想要一个类似http://localhost:3000/blog/posts 的网址,我想删除?locale=en

How can I remove locale of namespace :blog... and blog resource?. I want get a url something like http://localhost:3000/blog/posts I want to remove the ?locale=en

谢谢!

推荐答案

在Blog控制器中使用skip_before_filter吗?

Use skip_before_filter in your Blog controllers?

这篇关于before_filter set_locale除控制器外的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆