在Rails中为回形针图像创建alias_attribute

时间:2015-11-17 02:58:43

标签: ruby-on-rails paperclip

我目前正在构建一个具有模型Post的应用。我正在使用paperclip gem上传图片,一切进展顺利。

class Post < ActiveRecord::Base
    has_attached_file :headerimage, styles: {banner => "400x300#"}
end

正如我上面的课程所见,如果我要获得一个Post对象,我可以在我的视图中获得带有以下内容的横幅图片:

image = Post.first.headerimage(:banner)

别名

但是,在我的应用中,必须让图片属性image参考缩略图。所以,在我的模型课中,我写了

class Post < ActiveRecord::Base
    has_attached_file :headerimage, styles: {banner => "400x300#"}
    alias_attribute :image, :headerimage
end

允许我通过调用以下内容来获取图像:

image = Post.first.image

这就是我想要的 - 然而,它从paperclip获取原始图像,因此它等同于编写以下内容:

image = Post.first.headerimage代替image = Post.first.headerimage(:banner)

如何设置合适的alias_attribute来访问回形针?我似乎无法在其他任何地方找到答案,而且我不确定回形针是如何工作的。

我以为我可能在逻辑上可以做类似

的事情

alias_attribute :image, :headerimage(:banner)

但这不起作用。

1 个答案:

答案 0 :(得分:2)

你可以试试这个 - 基本上用参数调用原文,因为别名不赢取参数但是我们知道要传递的固定参数:

from django.template import Context, Template

def email_check(request):
    template = 'variables_inside_model_text_field.html'
    x = "Hi My name is {{ name }}"
    t = Template(x)
    c = Context({'name': 'Dean Christian Armada'})
    html = t.render(c)
    context_dict = {}
    context_dict['html'] = html
    return render(request, template, context_dict)