这是一个简单的问题,但我很难找到答案。我的表单中有一个选择字段,我想根据我的查询记录数构建选项数组。
我在我的控制器中得到我的计数:
@num_pages= Page.where(:site_id => @siteid).count
我希望我的选项数组就像 {["1", 1], ["2", 2], ...} 一直到@num_pages。
现在我知道我可以做一个循环并构建该数组,但我想知道是否有更多“rails”的方式来做到这一点。这样我的选择代码仍然可以像这样简单:
<%= select_tag(:nav_order, options_for_select(@num_pages)) %>
...不使用循环和数组推送以及你有什么。
更新
感谢回复,我的代码现在可以这样工作。但是,我决定将映射保留在视图中而不是控制器中。
<% options_array = (1..@page_count).to_a.collect{|p| ["#{p}", p]} %>
<%= select_tag(:nav_order, options_for_select(options_array)) %>