1
我有一個項目顯示頁正確顯示文本:在EEX模板渲染IMG:協議Phoenix.HTML.Safe沒有實現
<p><%= @post.body %></p>
<%= @post.title %></h1>
我想顯示用戶上傳的照片。
我想:
<img src="<%= @post.project_pic %>"/>
返回:
protocol Phoenix.HTML.Safe not implemented for %{file_name: "pexels-photo-144322 (1).jpeg", updated_at: #Ecto.DateTime<2017-08-06 14:05:26>}
這說明我的石化公司上傳並存儲在數據庫中。
我補充檢查:
<img src="<%= inspect @post.project_pic %>"/>
按照這樣的回答:
protocol Phoenix.HTML.Safe not implemented Elixir Phoenix
其中通過編譯器,但只顯示一個破碎圖像圖標。
圖片如何存儲?
我有這樣的post.ex:
field :project_pic, Citybuilder.ProjectPic.Type
在stories.ex我:
|> cast_attachments(attrs, [:project_pic])
在最新的遷移文件
它存儲爲一個字符串:
add :project_pic, :string
也許這就是錯誤。
我不確定錯誤是在我的eex語法中,還是在文件結構中更深的地方。
你如何計算和存儲'project_pic'?如果圖像位於同一根路徑中,您可能需要'<%= @ post.project_pic.file_name%>>。 – Dogbert
我更新了我的問題以包含更多信息。請參閱「如何存儲圖片?」如果你想知道其他什麼,請問。 – RubyRube
'cast_attachments'意味着你正在使用'arc'和'arc_ecto'? – Dogbert