首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有字符串参数的Rails link_to无资源路由

具有字符串参数的Rails link_to无资源路由
EN

Stack Overflow用户
提问于 2013-03-08 04:05:02
回答 1查看 474关注 0票数 0

我正在用Ruby (1.9.3) on开发一个飞行跟踪应用程序(3.2.11)。这个应用程序有一个Flight类,它有一个字符串列tail_number来跟踪执行飞行的飞机的尾数

我试图为尾号创建一个索引视图,显示尾号和每个尾号的列表,并链接到一个视图,该视图将显示所有具有该尾号的Flights。我的显示页面工作正常,但是让link_to 在索引页面上工作有困难。

显示视图由flights控制器的show_tail操作处理,我在routes.rb中设置了该操作:

代码语言:javascript
复制
match '/tails' => 'flights#index_tails'
match '/tails/:tail_number' => 'flights#show_tail'

飞行控制器按机尾号对航班进行分组,并提供计数:

代码语言:javascript
复制
def index_tails
  @flight_tail_numbers = Flight.where("tail_number IS NOT NULL").group("tail_number").count
end

在我的尾号索引页(/app/view/比对/ index _ tail s.html.erb)上,我创建了一个尾号表和每个尾号的计数,打算将尾号链接到适当的显示视图:

代码语言:javascript
复制
<h1>Tail Numbers</h1>

<table>
<% @flight_tail_numbers.each do |tail_number, count| %>
  <tr>
    <td><%= link_to(tail_number, tails_path(tail_number)) %></td>
    <td><%= count %>
  </tr>
<% end %>
</table>

但是,它没有像我所希望的那样创建指向/tail//tails/N909EV(例如,/tails/N909EV)的链接,而是创建了一个指向/tails.tail_number (/tails.N909EV)的链接。这个链接显然没有将我发送到我想要的flights#show_tail。

我已经成功地为其他与飞行(机场、旅行)相关的模型创建了索引,并为飞行本身创建了索引,它们都是通过使用,例如,我试图使用的用于尾号的link_to trip.name, trip_path(trip)语法来工作的。因此,如果Tail_Number是一个模型,并且我可以以同样的方式对待它,那么这将是非常微不足道的,但是对于一个模型来说,它似乎太小了,而不是一个给定航班的属性。

我假设它不适用于我的原因是,当我使用trip_path(trip)时,trip是一个对象,而在tails_path(tail_number)中,tail_number是一个字符串。但我不确定我该怎么联系它。我尝试过像使用URL参数执行操作中的命名路由这样的解决方案,但是如果我这样做的话,我会遇到同样的undefined method问题,所以我回到上面列出的内容。

我应该如何格式化我的link_to以使其工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-08 04:11:55

由于动作:show_tail不是RESTful动作,所以需要在:as语句中分配它。

你可以改变你的路线来支持你正在尝试的东西:

代码语言:javascript
复制
match '/tails/:tail_number' => 'flights#show_tail', :as => :tails

这将允许它与tails_path匹配。

我可能会把它命名为

代码语言:javascript
复制
match '/tails/:tail_number' => 'flights#show_tail', :as => :show_tails

并使用show_tails_path(tail_number)来避免其他操作中的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15286506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档