我是新手并且已经搜索过,但我们无法找到我正在寻找的答案的确切组合。我正在尝试创建一个下拉菜单,该菜单将由数据库列提供(我的代码可以在此处运行),然后让每个选项成为一个链接,该链接将转到所选城市的页面。
<%= collection_select(:city_id, 0, City.visible, :id, :name) %>
上面的行创建了我需要从我的城市数据库列填充的下拉。
我可以在这里添加一个link_to吗?我见过人们谈论jquery但是Rails没有答案吗?我想要转到city / cityName的链接。
感谢您的帮助!
编辑 - 提供的其他链接并未准确显示从数据库中提取的数据。
答案 0 :(得分:1)
虽然可能有一种方法可以使用rails link_to,但我最终在这些情况下使用了html_safe。您是否尝试过通过html_safe替换集合中的“text”值?如:
"<a href=#{show_path_for_object_here}>#{text_of_object_erb here}</a>".html_safe
如果您的城市路线标准如下:
resources :cities
然后实际的代码可能会非常接近:
<%= collection_select(:city_id, 0, City.visible, :id, "<a href=cities/#{city.id}>#{city.name}</a>".html_safe) %>
答案 1 :(得分:0)
我终于找到了一种完美的方式。我最终需要使用一些JavaScript并放弃Rails选择标记。无论哪种方式,我想发布对我来说非常有用的东西:
<select onchange="window.location=this.value">
<option>Select a City</option>
<% @cities.each do |c| %>
<option value="city/<%= c.permalink %>"><%= c.name %></option>
<% end %>
</select>