1

我想在没有模型的情况下在Rails 3.2中实现Papereclip

我对 RoR 和 Paperclip 很陌生。

我按照教程使用回形针。它正在成功运行。

但是在本教程中他们展示了模型的使用,我不想使用模型或者不想修改现有模型。

4

2 回答 2

3

Rails 是面向对象的。

# Article model
attr_accessible :image
# Paperclip attachment code and whatever rules and conditions you want.

image 属性实际上是数据库中的一列,并且是您的 Article 模型可访问的属性。该图像属性需要是字符串类型(varchar)来存储保存图像的 url。

例如,如果您的文章具有图像属性,则在您的视图文件 Article#Show 中,您可以通过带有图像属性文章对象显示您的图像。<%= image_tag @article.image.url %>

如果您想在同一篇文章中包含许多图像,那么您将需要创建 2 个模型(文章和图像)并在其中建立一个关联

 # Article model
 has_many :images
 accepts_nested_attributes_for :images

 # Image model
 attr_accessible :image_url
 belongs_to :article
 # paperclip attachments...

使用此关联,您可以通过以下方式获取并显示您的图像

<% @article.images.each do |image| %>
    <%= image_tag image.image_url.url %>
<% end %>

从技术上讲,您不需要将图像的 url 存储在数据库中,您可以将其存储在变量中,但它只会在会话期间有效,之后会消失。如果您想在以后查看您的图像,那么是的,您需要将其存储在数据库中。

于 2013-11-06T08:36:06.790 回答
1

对于不使用单独的模型,您可以查看Paperclip Docs。这里基本上所做的是将图像存储为现有模型的属性。

关于根本不使用模型,您希望如何将图像对象与某些现有记录相关联?在您的项目中不需要吗?

于 2013-11-06T08:02:03.603 回答