首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择标记&选择101的选项

选择标记&选择101的选项
EN

Stack Overflow用户
提问于 2013-12-01 14:16:06
回答 1查看 359关注 0票数 0

有人能解释一下这到底是怎么回事吗?

问题:

我有一个Scaffold并运行迁移:

代码语言:javascript
运行
复制
rails g migration AddRarityToTags rarity:string

对于稀有输入,我需要一个下拉列表,显示可供选择的选项列表。

代码语言:javascript
运行
复制
e.g. Rarity = Free
              Common
              Rare
              Epic

如果我是对的,我需要这样的东西:

代码语言:javascript
运行
复制
  select_tag :rarity, options_for_select(@rarity)

我找了很多,但没有多大帮助,我更困惑了。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-01 14:33:10

假设将原始选项作为字符串放入标记中:

代码语言:javascript
运行
复制
select_tag :rarity, '<option>Free</option><option>Common</option>...'

如果传入一个数组,这就是options_for_select返回的内容:

代码语言:javascript
运行
复制
select_tag :rarity, options_for_select(['Free', 'Common', ...])

请参阅:select

要强制执行“哑视图”规则,并让其他人使用该数组,您可以将其移动到模型中:

代码语言:javascript
运行
复制
class Tag < ActiveRecord::Base

  RARITY_LEVELS = %w(Free Common Rare Epic)

end

..。

代码语言:javascript
运行
复制
select_tag :rarity, options_for_select(Tag::RARITY_LEVELS)

我和OP都想知道Rails或任何宝石是否让我们获得比这个更多的DRYer;例如,Rails允许我们直接将RARITY_LEVELS附加到rarity字段.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20313065

复制
相关文章

相似问题

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