2013-04-07 2 views
1

Я достаточно новый для Ruby, и я унаследовал большой проект; до сих пор я справлялся с тонким изменением текста на кнопках/формах/текстовых полях, делая следующее:не может редактировать строку интернационализации в моем проекте rails

Если я хочу изменить текст на объект, который говорит «Текст здесь», что-то другое, я выполните поиск по всему проекту rails для строки с текстом здесь. Обычно я получаю результат в файле locales/en.yml, и я меняю соответствующую часть этого файла.

В данном случае, однако, у меня есть текстовое поле с полем «Введите местоположение». Я хочу, чтобы изменить это положи в адрес "Я сделал поиск«Введите местоположение»и в моем файле интернационализация достаточно уверенный я вижу:

helpers: 
enter_a_location: "Enter a location" 

Это единственное место во всем моем проекте, где это строка текста. Но независимо от того, что я меняю, я продолжаю получать «Ввести место», когда я начинаю проект рельсов. Даже если я удалю всю вещь enter_a_location вообще, она все еще появляется. Это очень раздражает! Мне показалось, что я занимаюсь этим программным бизнесом. Есть идеи что это может быть?

Часть кода, где 'Введите местоположение' приходит есть (в text_field части):

<div class='address-area'> 

<%= form_for current_user, :url => update_address_path, :html => {:method => :post, :class => 'form-horizontal', :id => 'address_form'} do |f| %> 
    <%= f.text_field :address, :id => 'address_autocomplete' %> 
    <%= f.hidden_field :city %> 
    <%= f.hidden_field :lat %> 
    <%= f.hidden_field :lng %> 

    <%= hidden_field_tag :changed %> 
<% end %> 

Любая помощь будет оценена.

Вот мой Gemfile:

source 'https://rubygems.org' 

gem 'rails', '3.2.3' 
gem 'rake', '~> 0.9.5' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'mysql2', '~> 0.3.11' 
gem 'json', '~> 1.7.3' 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'compass-rails', '~> 1.0.1' 
    gem 'bootstrap-sass', '~> 2.0.2' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'therubyracer', '~> 0.10.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platform => :ruby 

    gem 'uglifier', '>= 1.0.3' 
    gem 'jquery-fileupload-rails' 
end 

gem 'jquery-rails', '~> 2.0.2' 
gem 'inherited_resources', '~> 1.3.1' 
gem 'simple_form', '~> 2.0.2' 
gem 'will_paginate', '~> 3.0.3' 
gem 'bootstrap-will_paginate', '~> 0.0.7' 
gem 'has_scope', '~> 0.5.1' 
gem "best_in_place", "~> 1.1.2" 

gem 'devise', '~> 2.0.4' 
gem 'omniauth' 
gem 'omniauth-facebook' 
gem 'linkedin' 
gem 'omnicontacts', '~> 0.2.3' 
gem 'SystemTimer', '~> 1.2.3' 
gem 'resque', '~> 1.20.0' 
gem 'resque-scheduler', :require => 'resque_scheduler' 
gem 'rest-client', '~> 1.6.7' 
gem 'rest-graph', '~> 2.0.1' 

gem 'geokit', '=1.6.5' 
gem 'geokit-rails3', '~> 0.1.5' 
gem 'memcache-client' 

gem 'forgery', '~> 0.5.0' 
gem 'factory_girl_rails', '~> 1.7.0' 
gem "amoeba", "~> 1.2.1" 

# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug' 

group :development do 
    gem 'mongrel' 
    gem 'pry-rails' 
    gem 'quiet_assets' 
    gem 'email_spec' 
    gem 'capistrano', '~> 2.12.0' 
    gem 'capistrano-ext', '~> 1.2.1' 
    gem 'ruby-debug-base', '=0.10.4' 
    gem 'ruby-debug', '=0.10.4' 
    gem 'annotate' 
    gem 'letter_opener', :git => 'https://github.com/ryanb/letter_opener.git' 
    gem 'localtunnel' 
end 

group :test do 
    gem 'cucumber-rails', '~> 1.3.0', :require => false 
    gem 'capybara-webkit', '~> 0.11.0' 
    gem 'headless', '~> 0.3.1' 
    gem 'database_cleaner', '~> 0.7.2' 
    gem 'rspec-rails', '~> 2.9.0' 
    gem 'email_spec' 
end 
+0

Его, вероятно, часть драгоценного камня, который вы используете. Можете ли вы опубликовать свой Gemfile? –

+0

Привет, Саша, отправил мой gemfile. По какой-то причине я думаю, что Simple_form является виновником. У меня были проблемы с этим раньше .... – CHarris

+0

Хм мог быть. Не знаю, что жемчужина :) Можете ли вы разместить Контроллер, который обрабатывает этот запрос формы? Где-то должны быть валидации относительно этого атрибута адреса –

ответ

3

В некоторых случаях, если модуль I18n не найти перевод (например, атрибутов формы) он возвращается к «очеловеченному» преобразованию ключа перевода в. Например, 'enter_a_location' -> 'Введите местоположение'. Таким образом, вы не знаете, использовал ли он установленный перевод или резервное копирование.

Или, как сказал Саша, это может быть тот факт, что другой самоцветок/движок/плагин, который вы используете, имеет тот же самый ключ перевода и переопределяет тот, который вы установили.

Сейчас трудно сказать, потому что мы не можем видеть, где происходит присвоение 'enter_a_location'.

+0

+ 1 для «гуманизированного» преобразования. не знал об этом! –