2017-12-05 15 views
0

rails APIを使用してイメージを表示およびアップロードするAngular 4アプリケーションを作成しようとしています。レールAPIを使用して画像をアップロードするには、私はcarrierwaveを使用することに決めました。私が知りたいことは、初期画像をいくつか入れてデータベースに保存する方法です。以下は私のdb.seedファイルで行ったことです搬送波を使用したシードイメージ

Pictures.create!(
    image: Rails.root.join("C:/Ciaran/admin/src/assets/images/test_img1.jpg").open, 
) 

ただし、画像はどこに私のレールアプリのフォルダに保存されていますか?私はどこにも見ない。

MySQLの画像テーブルで画像列を調べると、URL全体が表示されません。test_img1.jpg?どうすれば完全なURLを表示させることができますか?

だから基本的にレールとcarrierwaveについての詳細を知っている誰かが私に説明してもらえ場合:

  1. 私は上記の示されたコードスニペットのためにそれは私のレールのアプリに画像のコピーを作成するのですか?私は一度データベースをシードしてしまえば、アプリケーションフォルダのどこにも表示されないからです。

  2. なぜ画像のデータベーステーブルに完全なURLが表示されないのですか?フルURLを表示するにはどうすれば角度のフロントエンドからアクセスできますか?

はあなたの助け

答えて

0

1をありがとう - アプリのフォルダにimage_uploader.rbというファイルがあるはずです。また、ファイルが格納されている場所を示すdef store_dirが必要です。

2 - フルURLは上記のimage_uploader.rb設定ファイルに基づいて生成されているためです。たとえば、モデルインスタンス変数が@pictureの場合、URLを取得することができます

@picture = Picture.first 
@picture.image.thumb.url 
関連する問題