我正在尝试使用Rails 4创建应用程序。我使用简单的表单。
我有一张表格要求用户选择他们的工作语言。
th
我的config / initializer文件夹中还有一个available_languages.rb
<%= f.input :working_languages, as: :select, collection: AVAILABLE_LANGUAGES.sort.map {|k,v| [v,k]}, label: "Select your working language" %>
当我尝试时,我收到此错误。有谁知道这意味着什么?
AVAILABLE_LANGUAGES = {
en: "English",
de: "Deutsche",
fr: "Français",
es: "Español"
}
答案 0 :(得分:3)
配置/初始化/ language_array.rb
module LanguageArray
AVAILABLE_LANGUAGES = {
en: "English",
de: "Deutsche",
fr: "Français",
es: "Español"
}
end
并在表单中访问如下:
<%= f.input :working_languages, as: :select, collection: LanguageArray::AVAILABLE_LANGUAGES.sort.map {|k,v| [v,k]}, label: "Select your working language" %>
答案 1 :(得分:0)
更好的方法是把它放在帮助者和use this for your constant(您的观点中提供):
#config/initializers/global_constants.rb
module GlobalConstants
# also notice the call to 'freeze'
LANGUAGES = {
en: "English",
de: "Deutsche",
fr: "Français",
es: "Español"
}.freeze
end
#app/helpers/application_helper.rb
module ApplicationHelper
def available_languages
GlobalConstants::LANGUAGES
end
end
然后您就可以使用:
<%= f.collection_select :working_languages, available_languages, :first, :last, label: "Select your working language" %>