我正在使用 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)。当我更新报价时,我得到Unpermitted parameters: 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
这项工作,但我认为这不是最好的方法。所以,我的问题是,是否有办法定义参数列表并使其工作?