轨道选择链接



我是这方面的新手,已经搜索过了,但还没能找到我想要的答案的确切组合。我正在尝试创建一个下拉菜单,该菜单将由数据库列提供(我的代码一直到这里),然后每个选项都是一个链接,该链接将指向所选城市的页面。

<%= collection_select(:city_id, 0, City.visible, :id, :name) %>

上面的行创建了我需要从城市数据库列中填写的下拉列表。

然后我可以在这里的某个地方添加一个链接吗?我见过人们谈论jquery,但是Rails对此没有答案吗?我希望链接指向city/cityName。

谢谢你的帮助!

编辑-提供的另一个链接并没有完全显示从数据库中提取的数据。

虽然可能有一种使用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) %>

我终于找到了一种完美的方法。我最终确实需要使用一些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>

最新更新