1

データベースから画像を表示する際の問題顧客アカウント ユーザーの両方が自分の写真をアップロード できる Web サイトに取り組んでいます。

Rails を使用したアジャイル Web 開発という本で提供されているレシピを使用して、1 対 1 の関係にあるCustomerImageの 2 つのテーブルを持つcustomersモジュールで機能させることができました。そして、私は画像を表示します

<img src="<%= url_for(:action => 'picture', :id => @customer.id) %>" alt="Picture" class="photo"/>

次のhtmlの例を生成します

<img src="/customers/picture/986" alt="Picture" class="photo">

さて、私の 2 番目のモジュールは、3 つのテーブルが関係する、もう少し複雑です。
1.アカウント- ユーザー名とパスワードのみを保存します
2. Basic_profile - 名前、性別、誕生日などを保存します 注 - ここの編集ページを使用して、ユーザーの写真をアップロードして表示しています。
3.写真- アカウント ユーザーの写真を保存します。

ここでの関係は、 Picture belongs_to Basic_profileBasic_profile belongs_to Accountです。

私のルートには、ネストされたリソースがあります。

  resources :accounts do
    resource :basic_profile, :contact
  end

パスを次のようにする特異なbasic_profileに注目してください。

//localhost:3000/accounts/1/basic_profile/edit

データベースへのアップロードと保存はすべて問題ありません。私の問題は、編集ページに画像を表示することです。次のコードは機能しません。

<img src="<%= url_for(:action => 'picture', :id => @basic_profile.id) %>" alt="Picture" class="profile_picture" />

これを修正しようとしましたが、何も機能しません。のようなパスで無意味に遊んで

//localhost:3000/accounts/1/basic_profile/picture

ルーティングエラーが発生します。

助けてください。

4

1 に答える 1

0

解決しました!

解決策は簡単でした。ネストされたルート内に「get :picture」を追加します。

  resources :accounts do
    resource :basic_profile do
      get :picture
    end
  end
于 2013-05-11T07:53:08.580 に答える