を実装されていません:レンダリング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>}
これは、PICは、アップロードした私を示しており、データベースに格納されます。この回答どおり
<img src="<%= inspect @post.project_pic %>"/>
:のみをコンパイラに渡しますが、
protocol Phoenix.HTML.Safe not implemented Elixir Phoenix
が壊れた画像アイコンを表示する
は私が検査を追加しました。写真はどのように保存されていますか?
私はpost.exでこれを持っている:stories.exで
field :project_pic, Citybuilder.ProjectPic.Type
は私が持っている:最新の移行ファイル内
|> 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