рельсы проверить, переведена ли страница - PullRequest
0 голосов
/ 09 августа 2010

Я пишу помощник для нашего приложения, который вернется, если страница не на английском языке. Сначала это был мой чек:

!params[:lang].nil? || !cookies[:lang].nil? || !session[:lang].nil? || !session[:locale] || !params[:locale]

(я посмотрел на параметры, файлы cookie и сеансы), если какой-либо из них не был равен нулю, я бы сразу пришел к выводу, что пользователь нажал на нашу ссылку для перевода (которая вводит параметры [: lang] и добавил ее сеанс и cookie.

Одна вещь, которую я забыл, это то, что если пользователь переключится обратно на «en», то все равно будет! Nil. Есть ли быстрый и простой способ / вызов проверки, если страница не на английском языке? Или я застрял с выполнением большого количества ifs для каждого параметра, файлов cookie и сеансов, чтобы проверить, существуют ли они И есть ли они на английском?

1 Ответ

0 голосов
/ 09 августа 2010

Вот несколько фрагментов кода того, что я сделал, и некоторые из refactormycode:

http://refactormycode.com/codes/1387-too-many-ifs-and-ands

def is_english?
  [params, cookies, session].each do |store|
    return (store[:lang].andand.to_s == "en" || store[:locale].andand.to_s == "eng")
  end

  false
end

Надеюсь, это кому-нибудь поможет!

...