簡體   English   中英

將回形針圖像從控制器傳遞到導軌視圖

[英]passing a paperclip image from the controller to a view in rails

我有一個附加有圖像的模型,我希望通過控制器將其傳遞到視圖中。 這是我嘗試過的方式,但是不起作用:

模型:

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轉換為String”錯誤,並指向“ <%= image_tag @bg_image%>”行,並且我假設@bg_image為nil。 那我在做什么錯呢?

您可能需要評估image_tag行:

<%= eval("image_tag #{@bg_image}")

由於您沒有通過在控制器中設置@bg_image來保存任何內容,因此您可以輕松地進行操作。

<%= image_tag @form.background_image.url %>

這可能會使渲染速度加快一納秒,並且看起來更干凈。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM