ruby-on-rails - 如何将模型中的元素放入 select_tag

标签 ruby-on-rails ruby

我有一个充满(明显)国家的数据库国家。现在我想在我 View 的 select_tag 中显示它们(如下拉列表)。

我试过在 options_for_select 中输入 @show_me_the_countries_mama.each 做 |f| ('[' + f.printable_name + ']' + ',')。这将在 [] 括号中列出每个国家,并且在正常 View 中带有空格。但它在 options_for_select 中无法用于执行下拉列表。

我有:

'得到'做 %> 国家:

我该如何解决这个问题?我不知何故不得不在 options_for_select 中放置一系列国家,现在我问我应该怎么做。我应该在模型中编写单独的方法来获取正确的国家/地区数组,然后将它们插入此处还是..?

谢谢你的回答

最佳答案

尝试使用 collection_select标签:

<%= collection_select :object, :country_id, Country.all, :id, :printable_name %>

其中 :id 和 :printable_name 是传递给 Country.all 中每个模型的方法,分别用于获取选择选项的值和显示部分。

您还可以查看 formtastic用于非常简单的表单生成。

关于ruby-on-rails - 如何将模型中的元素放入 select_tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1933500/

相关文章:

ruby-on-rails - 为什么我的 Rails Minitest 多态失败?

ruby-on-rails - 为什么即使我从不使用 minitest,也会出现此 minitest 错误?

ruby-on-rails - 开始在 Rails 中进行测试

ruby - 使用 `Object#send` 方法作为最佳实践

ruby-on-rails - 关于使用 Apache2 的 Ruby on Rails 的书籍?

ruby-on-rails - rails : new asset path for PDF's not being recognised

ruby-on-rails - rails : running an initializer after migrate

ruby-on-rails - 生产中的首选日志级别

ruby-on-rails - Rails with Redis 和 Devise 不工作

ruby-on-rails - 我什么时候使用 save!, create!和更新属性!在 Rails 中?