2013-05-05 79 views
0

我有下表,我想要我的“餐厅”的名称是可点击的并链接到该餐厅的页面。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> 

回答

3

你可以试试这个:

<%= link_to rest.name, rest %> 

如果你已经在你的config/routes.rb中定义的资源的餐厅,将目标由辅助restaurant_path(休息)(即/餐厅/ id_of_restaurant给出的网址)。

由于餐厅是一个城市的孩子,你可能希望有一个像/城市/ id_of_city /餐厅/ id_of_restaurant的网址,以便您可以尝试以下方法:

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

一定有这个你config/routes.rb以生成相应的帮助程序。

resources :cities do 
    resources :restaurants 
end 

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

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> 

但现在的链接是很丑陋,当我将鼠标悬停在它?我该如何摆脱?

+0

你只是把CSS放在你的链接上... – hypee 2013-05-05 16:40:22