我遇到图像路由问题。在我的应用程序中,我在主页上有项目的图像。我希望他们链接到他们的图片页面。
这是我的项目控制器的样子:
class ItemsController < ApplicationController
def show
@item = Item.find(params[:id])
end
end
这就是我的路线:
Rails.application.routes.draw do
resources :items
end
这就是我在项目中的部分内容:
<%= link_to(image_tag(item.image.url(:thumb)), item_path(:id)) %>
我在阅读rails路线指南后的预期是,这将链接到该图像的项目页面。这是他们的例子:
photo_path(:id) returns /photos/:id (for instance, photo_path(10) returns /photos/10)
我还应该补充一点,这是在我的主页控制器中:
class StaticPagesController < ApplicationController
def home
@items = Item.where.not(category_id: 1)
end
但是,这不起作用。我尝试过几种不同的东西,但都会产生错误。有一个简单的方法吗?
答案 0 :(得分:1)
做你想做的事的正常方法是:
<%= link_to item_path(item) do %>
<%= image_tag(item.image.url(:thumb)) %>
<% end %>
您可以将项目的实例传递给item_path
,如果您的链接有复杂的html,通常会将其放在链接的块中,如下所示({{1} })。