0

我是 Ruby on Rails 的新手,正在学习它。我想在另一个视图中访问带有回形针 gem 存储的图像的表,例如在我的应用程序中,我有原因控制器,我可以通过以下代码访问视图中的图像原因存储在表中:

 =image_tag @cause.images.first.image.url(:thumb), 

但我也可以访问从配置文件控制器存储在表中的图像。那么,如何在视图原因中访问视图配置文件的对象?我在原因控制器中尝试:

-> @profile = Profile.all -> =image_tag @profile.images.first.image.url(:thumb), 

但是不行,请问各位朋友,这个问题怎么解决?谢谢。

4

2 回答 2

0

您将 Profile.all 发送到 @profile,这意味着 @profile 将是一个配置文件对象数组。您的方法 images 将适用于 Profile 类的一个对象,而不是多个对象。您需要选择正确的配置文件并将其分配给@profile。对于 EX:

@profile = Profile.first # just taking the first profile, you can select any.

在 view 中,现在您可以使用此@profile 来获取图像。

于 2013-09-13T04:18:45.100 回答
0

首先,在原因控制器中,复数@profile因为Profile.all将返回所有配置文件的数组。即更改@profile = Profile.all@profiles = Profile.all

因为@profiles是数组,所以需要遍历视图中的每个数组项原因:

<% @profiles.each do |profile| %>
  <%= image_tag profile.images.first.image.url(:thumb) %>
<% end %>

如果您只打算返回单个配置文件图像,那么您需要在控制器中指定哪个配置文件。IE

@profile = Profile.first

或者如果原因模型属于轮廓模型:

@profile = Profile.find(params[:profile_id])
于 2013-09-13T04:23:22.547 回答