2012-04-21 2 views
0

さて、もう一度立ち往生しました。そして今度は、それが設計されていない方法でツールを使用しているからかもしれません。RailsペーパーIDの画像URLを使用したURL?

私は画像添付ファイルにPaperclipを使用していますが、これらの画像を想像されるモデルのインスタンスとして保存しています。画像はユーザーに属します。ユーザーには多くの画像があります。

ただし、ユーザーの画像の1つをデフォルト画像として指定します。だから私の脳は私がデフォルトにしたい画像のIDを保持するためにUserテーブルにフィールドを追加する必要があると私に伝えます。

イメージはhas_attached_fileを使用します。私はユーザーが自分の添付ファイルを持つことを望んでいない、私はちょうどそれが利用できるURLヘルパーメソッドを持つイメージの特定のインスタンスを参照できるようにユーザーモデルをしたい。

IDを使用してこのイメージのURLを取得しようとしているときに問題が発生します。私がしようとしていることは、ペーパークリップを使用することが不可能であるか、または私の団体が正しく設定されていません。

基本的には、ユーザーモデルのインスタンスを使用して、ビュー内のその画像にアクセスできるようにします。したがって:

<%= image_tag @user.image.url %> 

これは機能しません。それは動作しませんなぜ私が手が、私は

@user.image 

は、URLを取得するために、それに接続されているメソッドを持っている魔法のクリップオブジェクトのインスタンスであるようにする方法を理解していません。

基本的に、画像IDを使用してクリップの画像のURLを取得する方法を知っていれば、私は金色になります。すべての手がかりは?

答えて

0

画像オブジェクトからクリップ画像URLを取得できるとしますか?

もしそうなら、あなたのユーザーモデルにこれを追加します。

def image_url 
    Image.find(self.image).url 
end 

あなたは今、ユーザモデル「画像」欄に保存されたデフォルトの画像のIDおよび「URL内の画像のURLを持っている場合「イメージモデルで、あなたがこれを行うことができるはずコラム:

@user.image_url 

そして、これはあなたのURLを返すべきである 『デフォルトそれはだ聖なるがらくた』私はあなたのポストを読んだときの画像

+0

は、私はのようでした」天才!!! "..残念なことに、yこのようなクリップ画像のURLは取得できません。 @ user.image_urlを使用しようとすると、画像オブジェクトに「url」メソッドがないことがわかります –

+0

通常の画像オブジェクトからpaperclip URLを取得するにはどうすればよいですか? – klump

+0

よく、ユーザーには多くの画像があると考えてください。私はユーザーの画像にループする場合、私はURLを取得することができます。 @ user.images.each do | i | ... i.urlは素晴らしい作品です。どのように違いがあるかわからない –