我有一个带有选择框的 Rails 网络应用程序:
<%= select_tag :foo %>
我想在 Controller 中编写一个函数,用一些值填充这个选择框。我需要编写什么代码才能做到这一点?
如果将值硬编码到函数中就没问题。
def populate
# what goes here?
end
最佳答案
看看options_for_select .它为您要显示的内容构建 html。
options_for_select([["Dollar", "$"], ["Kroner", "DKK"]])
<option value="$">Dollar</option>\n<option value="DKK">Kroner</option>
options_for_select([ "VISA", "MasterCard" ], "MasterCard")
<option>VISA</option>\n<option selected="selected">MasterCard</option>
options_for_select({ "Basic" => "$20", "Plus" => "$40" }, "$40")
<option value="$20">Basic</option>\n<option value="$40" selected="selected">Plus</option>
options_for_select([ "VISA", "MasterCard", "Discover" ], ["VISA", "Discover"])
<option selected="selected">VISA</option>\n<option>MasterCard</option>\n<option selected="selected">Discover</option>
您可以像这样将此函数的结果传递给 select_tag:
<%= select_tag 'company_id', options_for_select(@current_user.active_companies.map { |c| [c.name, c.id] }) %>
关于javascript - 从 Controller 函数(Ruby on Rails)向选择框添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934026/