如何将模型中的元素放入select_tag

时间:2009-12-19 17:08:11

标签: ruby-on-rails ruby

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

我在options_for_select中试过puttin,比如@ show_me_the_countries_mama.each do | f | ('['+ f.printable_name +']'+',')。这将在[]括号中列出每个国家/地区,并在普通视图中使用空格。但它在options_for_select中不能用于执行下拉列表。

我有:

 '得'做%> 国家:

我该如何解决这个问题?我不得不把一系列国家放在options_for_select中,现在我问我该怎么做。我会在模型中编写单独的方法来获取正确的国家数组,然后将它们插入到这里或者......?

谢谢你的回答

2 个答案:

答案 0 :(得分:4)

尝试使用collection_select标记:

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

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

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

答案 1 :(得分:0)

您可以使用country_select插件,这样您就不必在数据库中维护任何内容。如果你采用这种形式的路线,你仍然需要一个像country_select这样的插件。