首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中的collection_radio_buttons

数组中的collection_radio_buttons
EN

Stack Overflow用户
提问于 2020-01-30 19:29:55
回答 1查看 97关注 0票数 0

如何使用collection_radio_buttons?从模型中的预定义集合中选择值

我试过了

代码语言:javascript
复制
= f.collection_radio_buttons :lang_lvl, Language.language_levels, :language_level, :language_level #does not work
= f.select :lang_lvl, Language.language_levels, include_blank: true #works

数据源在模型Language.rb中定义:

代码语言:javascript
复制
class Languages < ActiveRecord::Base
  LANGUAGE_LEVELS = [:"A1/Elem", :"A2/PreInt", :"B1/Int", :"B2/UpperInt", :"C1/Adv", :"C2/Prof", :"A1/Beg"]

  def self.language_levels
    LANGUAGE_LEVELS.map { |language_level| [language_level, language_level] }
  end
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-30 20:07:43

collection_radio_buttons的第三个和第四个参数分别指定了用于提取值和文本的方法。该函数将尝试调用[language_level, language_level].language_level来转换数据,因为您将数组数组作为集合传递,并为该子数组中的每个项调用:language_level

如果不想更改模型,可以尝试将代码更改为:

代码语言:javascript
复制
= f.collection_radio_buttons :lang_lvl, Language.language_levels, :first, :last
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59993235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档