0

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

我正在使用 simple_forms 在我的管理员中添加所有翻译的字段,在 [:en, :de, :it] 语言环境中。

一切都存储和更新没有任何问题,但公司的“title_en”仍然是初始的,所以如果我愿意,我无法更改它。

公司模式

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>

我仔细检查了每一个可能的拼写错误或错误,但问题仍然存在,无论我只是将空翻译添加到公司,还是我已经填写了所有翻译字段。'title_en' 始终保持不变。所有其他字段(title_it、title_de、summary_en、description_en、description_it 等)都可以毫无问题地更新。

你有什么主意吗?谢谢!

****** 附加信息 ******* 这是我的更新操作

  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
4

1 回答 1

1
   <strong>English Translation:</strong>
<%= f.input :title_it %>

第 2 行 = :title_it

于 2017-12-01T19:48:08.750 回答