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