誰かがこのコードで間違っているものを私に教えてくださいすることができますか...?
-
11-09-2019 - |
質問
私はIMGタグで、既存のHTMLを置き換えるコントローラのコードの部分を持っています。コードは以下の通りである:
render :update do |page|
page.replace_html "chart-div", "<img src=\"#{chart.chart_file}\"/>" #chart.chart_file is a path
end
何らかの理由で、私は次のエラーを受信し続けます:
ActionController::RoutingError (No route matches "/public/charts/1_WEEKLY_ACTUAL_LINE.jpg" with {:method=>:get}):
私が持っているのNO の私がどこかにルーティングすると仮定している理由のアイデア。それは私が適切に作成されるファイルのためのために、最初の「公共」を有していなければならないこと、しかし私は、画像を表示するために「公共」で削除する必要がありそうです。何かご意見は?動的に作成されたイメージ/アイテムに対処することにより、より標準的なメカニズムがありますか?
ベストます。
注:いいえください「アップロード」のプラグイン。すべてのファイルがシステムによって作成され、何のアップロードはありません。
解決
ファイルを追加する場合は、
、あなたはそれがRAILS_ROOT/public/charts/1_WEEKLY_ACTUAL_LINE.jpg
に位置されているファイルシステム、に追加されます。
、あなたはそれを指すURLを必要としています。 public
ディレクトリに格納されたファイルがpublic
ディレクトリへの相対パスによりアクセスされます。
あなたはこのような何かを試してみてください
class Chart < ActiveRecord::Base # or whatever the chart class is
def chart_url
chart_file.gsub(%r{^/public}, "")
end
end
それとも、あなたがデータベースにURLを格納し、行うことができます:
class Chart < ActiveRecord::Base # or whatever the chart class is
def chart_file
"/public#{chart_url}"
end
end
所属していません StackOverflow