Rails - 语言选择器
Rails - language selector
我正在尝试使用 Rails 4 制作一个应用程序。我使用的是简单的表单和 bootstrap。
我正在尝试询问用户他们使用哪种语言工作。
我的配置文件中有一个属性 table 用于存储语言值。
我正在尝试按照此建议制作 select 或:interface language selector in rails form?
我发现 Simple Form 一点都不简单,并且在按照上面 link.
问题的答案中显示的示例进行操作时没有取得任何成功
在我的 profile.rb 中,我有:
def.self.language_list
[['English', 'en'], ['French', 'fr'], ['German', 'gmh'], ['Spanish', 'spa']]
end
在我的个人资料视图表单中,我有:
<div class="col-md-3 col-md-offset-1">
<%= f.label 'What are your working languages?', :class => 'question-project' %>
</div>
<div class="col-md-7">
<%= f.input :languages do %>
<%= f.select :languages, options_for_select(Profile.language_list, @profile.languages) %>
<% end %>
</div>
<
当我尝试这个时,我收到一条错误消息:
NoMethodError at /profiles/2/edit
undefined method `language_list' for #<Class:0x007fe53323d078>
当我尝试上述 post 的答案中概述的集合 select 替代方案时,我遇到了同样的问题。
有人看到我做错了什么吗?有没有更简单的方法可以将语言列表放入表单中?
你可能需要写
def self.language_list
[['English', 'en'], ['French', 'fr'], ['German', 'gmh'], ['Spanish', 'spa']]
end
改为
def.self.language_list
[['English', 'en'], ['French', 'fr'], ['German', 'gmh'], ['Spanish', 'spa']]
end
def
和 self.language_list
之间的点是不需要的
您可以创建
app/services/i18n_support.rb
class I18nSupport
def self.locale_names
[
["English", "en"],
["Hindi", "hi"]
]
end
end
现在您可以在您的表单中使用
I18nSupport.locale_names
全局声明方法并可自由访问不是一个好的做法。相反,您可以使用仅通过 class 访问的 class 方法
我正在尝试使用 Rails 4 制作一个应用程序。我使用的是简单的表单和 bootstrap。
我正在尝试询问用户他们使用哪种语言工作。
我的配置文件中有一个属性 table 用于存储语言值。
我正在尝试按照此建议制作 select 或:interface language selector in rails form?
我发现 Simple Form 一点都不简单,并且在按照上面 link.
问题的答案中显示的示例进行操作时没有取得任何成功在我的 profile.rb 中,我有:
def.self.language_list
[['English', 'en'], ['French', 'fr'], ['German', 'gmh'], ['Spanish', 'spa']]
end
在我的个人资料视图表单中,我有:
<div class="col-md-3 col-md-offset-1">
<%= f.label 'What are your working languages?', :class => 'question-project' %>
</div>
<div class="col-md-7">
<%= f.input :languages do %>
<%= f.select :languages, options_for_select(Profile.language_list, @profile.languages) %>
<% end %>
</div>
<
当我尝试这个时,我收到一条错误消息:
NoMethodError at /profiles/2/edit
undefined method `language_list' for #<Class:0x007fe53323d078>
当我尝试上述 post 的答案中概述的集合 select 替代方案时,我遇到了同样的问题。
有人看到我做错了什么吗?有没有更简单的方法可以将语言列表放入表单中?
你可能需要写
def self.language_list
[['English', 'en'], ['French', 'fr'], ['German', 'gmh'], ['Spanish', 'spa']]
end
改为
def.self.language_list
[['English', 'en'], ['French', 'fr'], ['German', 'gmh'], ['Spanish', 'spa']]
end
def
和 self.language_list
之间的点是不需要的
您可以创建 app/services/i18n_support.rb
class I18nSupport
def self.locale_names
[
["English", "en"],
["Hindi", "hi"]
]
end
end
现在您可以在您的表单中使用
I18nSupport.locale_names
全局声明方法并可自由访问不是一个好的做法。相反,您可以使用仅通过 class 访问的 class 方法