Ruby on rails 链接到对象,如何定义路径?

Ruby on rails 链接到对象,如何定义路径?,ruby-on-rails,Ruby On Rails,假设我运行命令 rails g scaffold Movie title:string desc:text 在生成的索引文件中,/app/views/movies/index.html.erb, 电影-对象的循环方式如下: <% @movies.each do |movie| %> <tr> <td><%= movie.title %></td> <td><%= link_to 'Show', m

假设我运行命令

rails g scaffold Movie title:string desc:text
在生成的索引文件中,
/app/views/movies/index.html.erb
电影-对象的循环方式如下:

<% @movies.each do |movie| %>
  <tr>
    <td><%= movie.title %></td>
    <td><%= link_to 'Show', movie %></td> 
    # and some other columns
  </tr>
<% end %>

#和其他一些专栏
我不理解电影“Show”部分的
链接。在路由文件中,电影对象使用资源路由(
resources:movies
),因此我无法了解它是如何工作的


TL;DR:如果你创建一个指向“某个地方”的链接,对象
,它指向哪里,我如何在路由中(重新)定义它?

为了解释,当你使用像
链接到“…”这样的东西时,对象
,你必须记住,
Ruby
是面向对象的,
Rails
希望
对象中包含所有相关数据(如果设置正确)


对象

因此,如果要定义
@movies=Movie.all
,则返回包含
Movie
对象集合的
ActiveRecord
对象。对于外行来说,这将显示为一组数据对象,然后您可以使用
循环遍历这些数据对象。示例中的每个
循环:

<%= @movies.each do |movie| %>
  ...
<% end %>
这就是通过将对象传递给方法,您的
link_to
助手将知道使用哪个路由的方式


希望这有助于

Rails假设您遵循惯例。因此,迭代一个Movie类的实例,它将链接到movies控制器show action。您可以检查源代码以查看它。方法
链接到
资源
有很好的文档记录,不需要额外的解释。我应该澄清一下。我想了解如何在不使用资源路由的情况下创建这样的路由。另外,不管是谁投了反对票,请随意解释原因。答案很好,最后一张桌子也澄清了很多。谢谢:)没问题-很高兴它帮了你!
GET /photos photos#index    display a list of all photos
GET /photos/new photos#new  return an HTML form for creating a new photo
POST    /photos photos#create   create a new photo
GET /photos/:id photos#show display a specific photo
GET /photos/:id/edit    photos#edit return an HTML form for editing a photo
PATCH/PUT   /photos/:id photos#update   update a specific photo
DELETE  /photos/:id photos#destroy  delete a specific photo