Я использую rails 4.0.2 и globalize 4.0.0.alpha.3, но я не могу заставить запись данных в базы данных перевода со списком сильных параметров.
У меня есть модель предложения и проблема (OfferTranslationConcern)
class Offer < ActiveRecord::Base
include OfferTranslationConcern
end
Концерн
module OfferTranslationConcern
extend ActiveSupport::Concern
included do
attr_accessor :attribute_translations
translates :name, :city, :includes, :notes, :description, :slug
end
end
Контроллер
def update
respond_to do |format|
if @offer.update(offer_params)
format.html { redirect_to @offer, notice: 'Offer was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @offer.errors, status: :unprocessable_entity }
end
end
end
И определение сильных параметров
params.require(:user).permit('a lot of offer parameters', :attribute_translations => [:id, :name, :city, :includes, :notes, :description, :slug]
)
Для переводов я использую, например, испанский и итальянский языки (it и es). Когда я обновляю предложение, я получаю Недопустимые параметры: it, es
Параметры выглядят так:
"offer"=>{"attribute_translations"=>{"it"=>{"name"=>"dsfdsf", "city"=>"sdf", "includes"=>"sdfsdf", "notes"=>"sdfsd", "description"=>"fsdf"}, "es"=>{"name"=>"", "city"=>"", "includes"=>"", "notes"=>"", "description"=>""}}, "provider_id"=>"1",...a bunch of other stuff
Прямо сейчас я заставил его работать с этим определением сильных параметров
def offer_params
params.require(:offer).permit!
end
Это работа, но я не думаю, что это лучший способ. Итак, мой вопрос: есть ли способ определить список параметров и заставить это работать?