我在为同一表单中的模型数据提交多个语言环境翻译时遇到问题。例如:
岗位型号:
translates :title
如何在包含表单的“新”操作视图中发布,以便我可以在 :en locale 和 :fr locale 中提交我的标题?
谢谢。
我在为同一表单中的模型数据提交多个语言环境翻译时遇到问题。例如:
岗位型号:
translates :title
如何在包含表单的“新”操作视图中发布,以便我可以在 :en locale 和 :fr locale 中提交我的标题?
谢谢。
你可以看看https://github.com/alvarezrilla/batch_translations
在 Rails 3 和 globalize3 上,我必须更改一些东西才能使其正常工作。将所有 globalize_translations 方法更改为简单的翻译,将 proc.binding 参数删除为 @template.concat 并添加到您的模型中
has_many :translations
accepts_nested_attributes_for :translations
但这一切都在起作用。
您的表单应如下所示:
<%= form_for(@category) do |f| %>
<%= render "shared/error_messages", :target => @category %>
<table class="zebra">
<tbody>
<%= f.globalize_fields_for(:fr) do |g| %>
<tr>
<td><%= t(:language).humanize %>: <%= t(:french).humanize %></td>
<td></td>
</tr>
<tr>
<td>
<%= g.label :name, t(:name).humanize %><br/>
<%= g.text_field :name %>
</td>
</tr>
<tr>
<td>
<%= g.label :description, t(:description).humanize %><br/>
<%= g.text_area :description, :rows => 40, :cols => 100, :class => "mceEditor" %>
</td>
</tr>
<% end %>
<%= f.globalize_fields_for(:en) do |g| %>
<tr>
<td><%= t(:language).humanize %>: <%= t(:english).humanize %></td>
<td></td>
</tr>
<tr>
<td>
<%= g.label :name, t(:name).humanize %><br/>
<%= g.text_field :name %>
</td>
</tr>
<tr>
<td>
<%= g.label :description, t(:description).humanize %><br/>
<%= g.text_area :description, :rows => 40, :cols => 100, :class => "mceEditor" %>
</td>
</tr>
<% end %>
</tbody>
</table>
<div class="actions">
<%= f.submit :class=>'button' %> <%= yield :actions %>
</div>
<% end %>
如果您有更多问题,我将为 Rails 3 提交一个工作版本。