Rails链接与模型对象路径

时间:2013-05-05 16:18:29

标签: ruby-on-rails

我有下表,我希望我的“餐厅”的名称可以点击并链接到该餐厅的页面。

<table class="table table-striped">
    <tr>
      <th>Name</th>
      <th>Adress</th>
      <th>City</th>
      <th>No. of Recipies</th>
    </tr>
<% @city.restaurants.each do |rest| %>
  <tr>
    <td><%= rest.name %></td>
    <td><%= rest.adress %></td>
    <td><%= rest.city.name %></td>
    <td>5</td>
  </tr>
<% end %>

我如何将rest_path添加到:

<a href="url">Link text</a>

2 个答案:

答案 0 :(得分:3)

你可以试试这个:

<%= link_to rest.name, rest %>

如果您在config / routes.rb中定义了资源餐馆,它将定位帮助者restaurant_path(其余)给出的网址(即/ restaurants / id_of_restaurant)。

由于餐厅是城市的孩子,您可能想要一个像/ cities / id_of_city / restaurants / id_of_restaurant这样的网址,以便您可以尝试以下方式:

<%= link_to rest.name, city_restaurant_path(@city, rest) %>

请务必在config / routes.rb中使用此命令以生成相应的帮助程序。

resources :cities do
  resources :restaurants
end

然后,您将能够使用终端中的“rake routes”命令查看路线的所有可用助手。

答案 1 :(得分:0)

好的,所以我做了类似的事情

<table class="table table-striped">
    <tr>
      <th>Name</th>
      <th>Adress</th>
      <th>City</th>
      <th>No. of Recipies</th>
    </tr>
<% @city.restaurants.each do |rest| %>
  <tr>
    <td><%= link_to rest.name, rest %></td>
    <td><%= rest.adress %></td>
    <td><%= rest.city.name %></td>
    <td>5</td>
  </tr>
<% end %>

</table>

但是现在当我悬停在它上面时链接非常难看?我怎么摆脱它?