尝试将图像链接到rails中的特定模型ID

时间:2014-12-04 16:26:26

标签: ruby-on-rails-4 rails-routing

我遇到图像路由问题。在我的应用程序中,我在主页上有项目的图像。我希望他们链接到他们的图片页面。

这是我的项目控制器的样子:

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

但是,这不起作用。我尝试过几种不同的东西,但都会产生错误。有一个简单的方法吗?

1 个答案:

答案 0 :(得分:1)

做你想做的事的正常方法是:

<%= link_to item_path(item) do %>
  <%= image_tag(item.image.url(:thumb)) %>
<% end %>

您可以将项目的实例传递给item_path,如果您的链接有复杂的html,通常会将其放在链接的块中,如下所示({{1} })。