Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Globilize更新除“标题”之外的所有翻译_Ruby On Rails_Ruby On Rails 3_Globalize_Globalize3 - Fatal编程技术网

Ruby on rails Globilize更新除“标题”之外的所有翻译

Ruby on rails Globilize更新除“标题”之外的所有翻译,ruby-on-rails,ruby-on-rails-3,globalize,globalize3,Ruby On Rails,Ruby On Rails 3,Globalize,Globalize3,我在一个旧的rails 3.2项目上使用Globalize 3.1和Globalize访问器,以便以3种语言存储一些翻译的字段。 我有两个模型,一个有许多基本细节[标题、地址、lat、lng、图像等]的公司,我翻译“标题”和带有两个字段[摘要和描述]的描述,我翻译“摘要”和“描述” 我正在使用simple_表单在我的admin中添加所有翻译字段,在[:en,:de,:it]区域设置中 一切都存储和更新没有任何问题,但公司的“标题”仍然是最初的,因此如果我愿意,我无法更改它 公司内模式 内部控制器

我在一个旧的rails 3.2项目上使用Globalize 3.1和Globalize访问器,以便以3种语言存储一些翻译的字段。 我有两个模型,一个有许多基本细节[标题、地址、lat、lng、图像等]的公司,我翻译“标题”和带有两个字段[摘要和描述]的描述,我翻译“摘要”和“描述”

我正在使用simple_表单在我的admin中添加所有翻译字段,在[:en,:de,:it]区域设置中

一切都存储和更新没有任何问题,但公司的“标题”仍然是最初的,因此如果我愿意,我无法更改它

公司内模式

内部控制器

在我看来


第2行=:title_it

谢谢Oleksii!不幸的是,这只是stackoverflow帖子中的一个拼写错误,而不是真正的代码。在实际代码中,我还有一些:input_html标记,我在这里简化了这些标记。您调试了吗?控制器中更新操作的值是多少?是的,所有参数传递正确。“title_en”是新字段和其他字段。请检查公司。globalize_locales and Company.globalize_locales_name values before update action in debugger似乎有一个开放的问题,但只有当其他字段为空且位于嵌套参数中时才会发生。我的嵌套模型工作正常,没有任何问题。如果有错误,是否可以显示更新操作和错误?如果参数[:company][:rates\u attributes]使用@company=company.updateparams[:id],company\u params enddef company\u params allowed=[:title_en,:title_de,:title_it,:address,:lat,:lng,…{description_attributes:[:summary_en,:description_en,:summary_de,:description_de,:summary_it,:description_it]},{费率属性:[id,:状态,:日期,:价格]},:图像属性,:礼仪id]参数require:company.permit*permited end如果您可以编辑您的问题以包含新信息而不是使用注释,则会更有帮助。这很难阅读。
translates :title
globalize_accessors locales: [:en, :de, :it], attributes: [:title]
permitted = [:title_en, :title_de, :title_it, :address, :lat, :lng, 
{ description_attributes: [ :summary_en, :description_en, :summary_de, :description_de, :summary_it, :description_it ] }, ....
   <strong>English Translation:</strong>
    <%= f.input :title_en %>
    <%= f.simple_fields_for :description do |p| %>
     <%= p.input :summary_en %>
     <%= p.input :description_en, :as => :text, :input_html => { :rows => 20 } %>
    <% end %>
   <hr>
   <strong>Italian Translation:</strong>
    <%= f.input :title_it %>
    <%= f.simple_fields_for :description do |p| %>
     <%= p.input :summary_it %>
     <%= p.input :description_it, :as => :text %>
    <% end %>
   <hr>
  def update
    expire_fragment(params[:id])
    return update_rates if params[:company][:rates_attributes]
    respond_with @company = Company.update(params[:id], company_params), location: admin_companies_url
  end

def company_params
  permitted = [:title_en, :title_de, :title_it, :address, :lat, :lng, .....
  { description_attributes: [ :summary_en, :description_en,    :summary_de, :description_de, :summary_it, :description_it ] },
  { rates_attributes: [:id, :status, :date, :price] },   :images_attributes,:amenity_ids]
  params.require(:company).permit(*permitted)
end
   <strong>English Translation:</strong>
<%= f.input :title_it %>