【发布时间】:2013-10-31 18:48:30
【问题描述】:
我应该如何为我使用 rails 4 和 https://github.com/globalize/globalize 进行翻译的模型编写表单。我想以一种形式显示所有翻译,如下例所示。我在这里找到了解决方案https://github.com/rilla/batch_translations,但我不知道如何实现。这个“批量翻译”是宝石还是什么?以及如何安装它。
<h1>Editing post</h1>
<% form_for(@post) do |f| %>
<%= f.error_messages %>
<h2>English (default locale)</h2>
<p><%= f.text_field :title %></p>
<p><%= f.text_field :teaser %></p>
<p><%= f.text_field :body %></p>
<hr/>
<h2>Spanish translation</h2>
<% f.globalize_fields_for :es do |g| %>
<p><%= g.text_field :title %></p>
<p><%= g.text_field :teaser %></p>
<p><%= g.text_field :body %></p>
<% end %>
<hr/>
<h2>French translation</h2>
<% f.globalize_fields_for :fr do |g| %>
<p><%= g.text_field :title %></p>
<p><%= g.text_field :teaser %></p>
<p><%= g.text_field :body %></p>
<% end %>
<% end %>
【问题讨论】:
-
这是一个扩展 FormBuilder 的模块,你应该可以把它放在应用程序的 lib 目录中,然后在需要的地方使用它。
-
好的,让我检查一下,如果可行,那么您可以将其添加为答案,我会很乐意接受答案
-
它显示错误“未定义的方法 `globalize_translations' for”
-
这告诉我该模块被正确包含,因为它正在调用
globalize_fields_for,但它找不到''的globalize_translations方法。这真的是它所说的吗?此外,您的form_for中缺少=应该是<%= form_for(@post) do |f| %>,这可能是导致问题的原因。
标签: ruby-on-rails ruby globalize