3

"1 시간 전"과 같이 단어로 datetime을 표시하려고했습니다. 다음과 같은 방법을 시도했지만 문자열 형식으로 html을 반환하는 중입니다.Rails 3.2 시간 전 단어로 메서드가 HTML 콘텐츠를 반환합니다

>> helper.time_ago_in_words(Time.now) 
=> "<span class=\"translation_missing\" title=\"translation missing: en.less_than_x_minutes\">Less Than X Minutes</span>" 
>> I18n.locale = :de 
=> :de 
>> helper.time_ago_in_words(Time.now) 
=> "<span class=\"translation_missing\" title=\"translation missing: de.less_than_x_minutes\">Less Than X Minutes</span>" 
>> I18n.locale = :en 
=> :en 
>> helper.time_ago_in_words(Time.now) 
=> "<span class=\"translation_missing\" title=\"translation missing: en.less_than_x_minutes\">Less Than X Minutes</span>" 
+1

워드 프로세서가처럼 행동 귀하의 권리를 로 돌아 가야한다. ting ... http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-time_ago_in_words. 나는 해결책을 모른다. 그러나 이것을 묻는 것에 감사한다. 그래서 나, 그리고 다른 사람들은 이것을 나중에 지켜 볼 수있다. – rovermicrover

답변

1

당신이 설정에서 어떤 로케일을 사용하십니까 :

방법

helper.time_ago_in_words(Time.now) 

결과

=> "<span class=\"translation_missing\" title=\"translation missing: en.less_than_x_minutes\">Less Than X Minutes</span>" 

는 콘솔 출력 레일? 영어는 물론 기본입니다. 제대로 작동해야합니다.

2.0.0p0 :001 > helper.time_ago_in_words(Time.now) 
=> "less than a minute" 
2.0.0p0 :002 > I18n.locale = :de 
=> :de 
2.0.0p0 :003 > helper.time_ago_in_words(Time.now) 
=> "translation missing: de.datetime.distance_in_words.less_than_x_minutes" 
2.0.0p0 :004 > I18n.locale = :en 
=> :en 
2.0.0p0 :005 > helper.time_ago_in_words(Time.now) 
=> "less than a minute" 

내가 콘솔 (레일 c)에서했던 것처럼 도우미 객체에서이 메소드를 호출 할 수 있습니까? 출력은 무엇입니까?

+0

답장을 보내 주셔서 감사합니다. 위 질문에서 출력을 업데이트했습니다. 확인하십시오. – richesrahul

+0

어떤 레일 버전을 사용합니까? 아무 것도 작동하지 않으면 [here - link] (http://stackoverflow.com/questions/4007073/rails-distance-of-time-in-words-returns)와 같이 번역을 명시 적으로 정의하는 것이 유일한 옵션입니다. -en-about-x-hours). 기본 번역 [여기 - 링크] (https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en.yml)이있는 파일을 찾을 수 있습니다. – konole

0

레일즈 콘솔에서 ActionView :: Helpers의 time_ago_in_words를 사용하면 translation_missing 오류 메시지가 나타납니다. 그러나 ActionView :: Helpers :: DateHelper에서 포함하면 예상대로 작동합니다.

작품 :

[2] pry(main)> include ActionView::Helpers::DateHelper 
=> Object 
[3] pry(main)> time_ago_in_words(Time.now) 
=> "less than a minute" 

번역 누락 :

[1] pry(main)> include ActionView::Helpers 
=> Object [2] 
pry(main)> time_ago_in_words(Time.now) 
=> "<span class=\"translation_missing\" title=\"translation missing: en.less_than_x_minutes\">Less Than X Minutes</span>" 
+1

같은 결과를 얻을 수 있습니다 - HTML (Rails 4) 문자열. –

0

이 시도 :

time_ago_in_words (Time.now)