如何在非设计视图中显示所有设计用户

cha*_*gee 1 ruby-on-rails devise

Rails 3.2.3 与 Devise 2.1

我只是想创建一个我认为会显示所有用户的简单页面。用户正在被 Devise 控制。用户有个人资料图片和电子邮件地址。所有设计视图都工作正常。

我已经尝试了在其他地方看到的一些建议,例如在新的 user_controller 或 application_controller 中定义用户,但我的定义没有通过其他页面。我不断收到相同的错误消息集。

我的路线工作正常。我已经让所有的载波内容在上传器和模型中正常工作。我似乎无法在任何设计内容之外找到“用户”。我知道我很愚蠢,希望一些显而易见的事情变得显而易见,但是。. .

我目前的错误是:

undefined method `image_url' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

我显示用户的页面:

<% provide(:title, 'Our Users') %>
<div class="center hero-unit">
  <div>
    <h2>Our Users</h2>
    <%= render 'shared/user' %>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

帮手:

<div>
  <%= image_tag user.image_url(:thumb).to_s %>
  <h5><%= user.email %></h5>
</div>
Run Code Online (Sandbox Code Playgroud)

我在 users_controller 中尝试了各种各样的东西,但似乎没有任何效果。我试过将资源 :users 添加到我的路线中。没有帮助。

任何提示,指针等将不胜感激。我已经花了 4 个小时,以免不必要地干扰 stackoverflow 部落,但我很难过。

cha*_*gee 5

解决了!我试图在非设计控制器中定义我的用户。然后在我看来使用它:

<% @users.each do |user| %>
  <%= image_tag user.image_url(:thumb).to_s %>
  <%= user.email %><br/>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我放弃了新的 user_controller 并简单地将我的观点改为:

<% @users = User.all %>
<% @users.each do |user| %>
  <%= image_tag user.image_url(:thumb).to_s %>
  <%= user.email %><br/>
<% end %>
Run Code Online (Sandbox Code Playgroud)

砰!就出现了。