Ruby On Rails显示图像

时间:2015-04-03 06:28:50

标签: ruby-on-rails

我是新手。我刚刚自学了2天。而且有一个问题。

示例:我有一个名为tblData的表,包含2列:id, img_linkimg_link包含指向图片的链接。

我希望将此表中的所有内容(id和图​​像,而不是图像链接)显示为html文件。 那么,我需要做什么呢?

2 个答案:

答案 0 :(得分:0)

如果您有可以从数据库中提取的图像链接,则可以执行以下操作:

假设您已分配对象并设置了所有内容:

在tbl_data的控制器中(例如app / controllers / tbl_data_controller.rb):

class TblDataController < ApplicationController
  def your_action
    @tbl_data_item = TblData.first
  end
end

(上面的代码只是一个例子,您应该替换您希望运行的任何代码/查询)

在视图模板中,您可以使用以下Rails视图助手从链接呈现图像:

<%= image_tag(@tbl_data_item.img_link) %>

这将输出以下HTML:

<img src="/path/to/image/from/img_link" />

Rails api docs上有关于此助手的更多信息。 Rails Guides有关于设置和运行设置的一些很棒的信息。希望这有帮助!

<强>更新 为了给您一个更清晰步骤的更好示例,您可以执行以下操作:

设置路线(app / config / routes.rb):

Rails.application.routes.draw do
  resources :tbl_data
end

创建模型,用于与各自的数据库表(app / models / tbl_data.rb)进行通信:

class TblData < ActiveRecord::Base
  # your model-specific code goes here - validations, scopes, etc.
end

创建控制器,当用户点击您应用中的某条路线时(app / controllers / tbl_data_controller.rb),该控制器会响应:

class TblDataController < ApplicationController
  def your_action
    @tbl_data_items = TblData.all
  end
end

创建将为您的用户呈现的视图模板(app / views / tbl_data / your_action.rb):

<table>
  <% @tbl_data_items.each do |item| %>
    <tr>
      <td><%= item.id %></td>
      <td><%= image_tag(item.img_link) %></td>
    </tr>
  <% end %>
</table>

上面会显示一个表格,其中@tbl_data_items中的每条记录都是一行,有2列,一列带有id,另一列带有该项目的实际图像。

答案 1 :(得分:0)

在公共图像中创建一个名为images的文件夹,将所需图像放在该文件夹中。

<%=image_tag 'whatevertheimagefilenameis.png', class: 'example-class', id: 'example-id'%>放入html。