从控制器传递回形针图像到轨道视图
我有一个模型附加了一个图像,我想通过控制器传递到视图。这是我曾尝试自己的方式,但它不工作:从控制器传递回形针图像到轨道视图
型号:
class CustomForm < ActiveRecord:Base
has_attached_file :background_image,
:storage => :s3,
:bucket => "asdf",
...
belongs_to :project
控制器:
class FormsController < ApplicationController
before_filter :get_project
def show
@form = @project.forms.find(params[:id])
@bg_image = @form.background_image.url
end
def get_project
@project = current_account.projects.find(params[:project_id])
end
查看:
<html>
<head>
</head>
<body>
<%= image_tag @bg_image %>
</body>
</html>
这将创建一个“能'将nil转换为字符串“错误并指向”<%= image_tag @bg_image%>“行,并且我认为@bg_i法师是零。那么我在这里做错了什么?
Uou可能需要EVAL的IMAGE_TAG行:
<%= eval("image_tag #{@bg_image}")
既然你是不是通过在控制器@bg_image集保存任何东西,你可以很容易地做到。 :
<%= image_tag @form.background_image.url %>
这可能会让纳秒更快,看起来更清洁。
我得到这个错误:“错误数量的参数(0为1)” – 2012-07-27 23:25:36
什么对象? – 2012-07-27 23:27:16
正在做种类有用,但图片未定义 – 2012-07-27 23:28:11
是否正确设置了“@ project”?如果是这样,是不是'@ form.background_image'是否有值? – 2012-07-27 23:34:58
我很确定这是因为@form变量工作正常 – 2012-07-27 23:36:54
嗯,我很好奇为什么'@ bg_image'不工作,但'@ form.background_image.url'是。 – 2012-07-27 23:40:20