使用嵌套资源时无法显示数据库中的图像

时间:2013-04-27 07:29:52

标签: ruby-on-rails image ruby-on-rails-3.1 nested-resources

从数据库显示图片时出现问题 我正在开设一个网站,允许客户帐户用户上传他们的照片。

使用 Agile Web Development with Rails 一书中提供的配方,我已设法使其适用于客户模块,其中我有两个表,关于1对1关系的客户图片。我用

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

生成以下html示例

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

现在,我的第二个模块稍微复杂一点,我涉及3个表 1. 帐户 - 仅存储用户名和密码
2. Basic_profile - 存储名称,性别,生日等内容。注意 - 我在这里使用编辑页面上传并显示用户的图片。 /> 3. 图片 - 存储帐户用户图片。

此处的关系为图片 belongs_to Basic_profile Basic_profile belongs_to 帐户

在我的路线中,我有一个嵌套资源。

  resources :accounts do
    resource :basic_profile, :contact
  end

注意奇异的 basic_profile ,它将路径设为

  

//本地主机:3000 /帐户/ 1 / basic_profile /修改

上传并保存到数据库中都很好。我现在的问题是在编辑页面中显示图片。以下代码不起作用。

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

我试图解决这个问题,但没有任何效果。毫无意义地玩像

这样的道路
  

//本地主机:3000 /帐户/ 1 / basic_profile /图片

给我路由错误。

请帮忙。

1 个答案:

答案 0 :(得分:0)

解决!

解决方案很简单。在嵌套路线中添加“get:picture”

  resources :accounts do
    resource :basic_profile do
      get :picture
    end
  end