Je développe une application avec Ruby on Rails (4.1) et j'utilise la gemme Globalize (version 4.0.1) pour stocker diverses traductions de mes données. Le problème est que lorsque j'utilise la méthode « globalize_fields_for » de simple_form afin de générer les champs de formulaire pour les différents endroits, je reçois l'erreur suivante:Simple_form et globalize gem
undefined method `globalize_fields_for' for #<SimpleForm::FormBuilder:0x00000106824928>
Voici mon point de vue (haml):
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'
la variable "@locales" a mes lieux ([ 'el', 'fr', 'ru']
Mon modèle est le suivant:.
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
Si j'utilise l'assistant "simple_fields_for", j'obtiens une erreur qui indique que j'ai un attribut "el" non défini (ou tout autre environnement local que j'ai créé) qui est valide car il n'y en a aucun dans mon modèle.
Je suis coincé pendant quelques heures sur cette sorte que toute aide/suggestion sera appréciée :)
Quand on utilise les globalize3_helpers, vous obtenez ceci dans le terminal: ------------------- Bundler n'a pas pu trouver des versions compatibles pour bijou « globalisiez « : en Gemfile: globalize3_helpers (> = 0) rubis dépend Globalize (~> 3.0.0) rubis Globalize (4.0.2) –
Avez-vous retiré la gemme Globalize du Gemfile? La gemme globalize3_helpers est un complément de la gemme globalize, donc vous devez maintenir les deux gemmes à Gemfile. J'espère que cela aide. –
J'ai tout pour travailler. Voici mon gemfile: gem "friendly_id", "~> 5.0.1", gem 'i18n', '~> 0.6.11' (a dû inclure ceci pour faire fonctionner le générateur friendly_id - fonctionne également en conjonction avec la gemme globalize et gem 'globalize-accessors', 'globalize', '~> 4.0.2' (utilisez plusieurs locales pour un modèle sans faire de tonnes de colonnes), gem 'globalize-accessors', '~> 0.1.5' (Accéder facilement (lire et écrire) globaliser les champs traduits sans manipuler les paramètres régionaux gem), 'batch_translations' (nécessaire pour que globalize_fields_for fonctionne) –