2014-05-20 6 views
0

Ruby on Rails (4.1)로 응용 프로그램을 개발 중이며 Globalize gem (version 4.0.1)을 사용하여 데이터의 다양한 번역을 저장합니다.Simple_form and globalize gem

: 여기
undefined method `globalize_fields_for' for #<SimpleForm::FormBuilder:0x00000106824928> 

내보기 (HAML)입니다 : 문제는 내가 여러 로케일에 대한 양식 필드를 생성하기 위해 simple_form의 "globalize_fields_for"방법을 사용할 때, 나는 다음과 같은 오류를 얻을 수 있다는 것입니다

은 "@locales"

h3.title New Static Page 
%hr 

= simple_form_for [:admin, @static_page] do |f| 
    %dl.tabs{ "data-tab" => "" } 
    - @locales.each_with_index do |lang, index| 
     - klass = index == 0 ? 'active' : '' 
     %dd{ class: klass }= link_to t("admin.languages.#{lang}"), "#panel2-#{index + 1}", class: "#{lang} flag" 
    .tabs-content 
    - @locales.each_with_index do |lang, index| 
     - klass2 = index == 0 ? 'active' : '' 
     .content{ class: klass2, id: "panel2-#{index + 1}"} 
     = f.globalize_fields_for lang.to_sym do |g| 
      = g.input :title, label: "Title" 
      = g.cktext_area :body, rows: 15, class: 'ckeditor' 

    = f.button :submit, t('admin.buttons.submit'), class: 'new-submission' 
는 변수 ([ '엘', '엉', '루'] 내 로케일을 가지고 다음과 같이

내 모델은 다음과 같습니다.

class StaticPage < ActiveRecord::Base 

    extend FriendlyId 
    friendly_id :title, use: [:slugged, :history] 

    # Validations 

    validates :title, presence: true, length: { maximum: 100 } 
    validates_presence_of :body 

    # Associations 
    translates :title, :body 
    has_many :translations 
    accepts_nested_attributes_for :translations 
end 

"simple_fields_for"도우미를 사용하는 경우 정의되지 않은 "el"속성 (또는 내가 만든 로케일 중 하나)이 내 모델에 선언되지 않았으므로 유효하지 않은 오류가 발생합니다.

은 정말 어떤 도움/제안을 이해할 수있을 것이다이에 몇 시간 :) 당신은 보석 globalize3_helpers을 사용할 수 있습니다

답변

1

에 붙어입니다. 도우미 사용 globalize_fields_for_locales [:en, :ru, :el]

+0

globalize3_helpers를 사용할 때 터미널에서 다음을 얻습니다. ------------------- Bundler가 gem "globalize의 호환 버전을 찾을 수 없습니다. "Gemfile에 : globalize3_helpers (> = 0) 루비는 Gemfile에서 의 세계화 (~> 3.0.0) 루비 의 세계화 (4.0.2) –

+1

제거 했의 세계화 보석에 따라 달라집니다? globalize3_helpers gem은 globalize gem을 보완하기 때문에 Gemfile에서 두 개의 gem을 유지 관리해야합니다. 희망이 도움이됩니다. –

+2

나는 일할 모든 것을 얻었습니다. gemfile은 다음과 같습니다 : gem "friendly_id", "~> 5.0.1", gem 'i18n', '~> 0.6.11'(friendly_id 생성기를 사용하려면 이것을 포함시켜야합니다. 또한 globalize gem과 함께 작동합니다. (globalize-accessors gem), gem 'globalize', '~ 4.0.2'(열을 많이 만들지 않고 하나의 모델에 여러 로케일을 사용하자), gem 'globalize-accessors', '~> 0.1.5' (로켈 보석을 사용하지 않고도 번역 된 필드를 쉽게 액세스 (읽기 및 쓰기) 할 수 있습니다. 'batch_translations'(globalize_fields_for를 사용하려면이 기능이 필요합니다) –