Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在非设计视图中显示所有设计用户_Ruby On Rails_Devise - Fatal编程技术网

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

Ruby on rails 如何在非设计视图中显示所有设计用户,ruby-on-rails,devise,Ruby On Rails,Devise,带Desive 2.1的轨道3.2.3 我只是想创建一个简单的页面,显示我所有的用户。用户由Desive控制。用户拥有个人资料图像和电子邮件地址。所有设计视图都运行良好 我尝试了其他地方看到的一些建议,例如在新用户控制器或应用程序控制器中定义用户,但我的定义无法通过其他页面。我一直收到相同的错误消息集 我的路线很好。 我已经让所有carrierwave的东西在上传器和模型中正常工作。 我就是找不到任何设计之外的“用户”。我知道我很蠢,希望一些显而易见的事情变得显而易见,但是 我当前的错误是: u

带Desive 2.1的轨道3.2.3

我只是想创建一个简单的页面,显示我所有的用户。用户由Desive控制。用户拥有个人资料图像和电子邮件地址。所有设计视图都运行良好

我尝试了其他地方看到的一些建议,例如在新用户控制器或应用程序控制器中定义用户,但我的定义无法通过其他页面。我一直收到相同的错误消息集

我的路线很好。 我已经让所有carrierwave的东西在上传器和模型中正常工作。 我就是找不到任何设计之外的“用户”。我知道我很蠢,希望一些显而易见的事情变得显而易见,但是

我当前的错误是:

undefined method `image_url' for nil:NilClass
显示用户的我的页面:

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

我们的用户
助手:

<div>
  <%= image_tag user.image_url(:thumb).to_s %>
  <h5><%= user.email %></h5>
</div>

我在用户控制器中尝试了各种方法,但似乎都不起作用。 我已经尝试向我的路线添加资源:用户。没有帮助


任何提示、指示等都将不胜感激。为了不让stackoverflow部落受到不必要的干扰,我花了4个小时来解决这个问题,但我被难住了。

Ỳ您应该发现您的用户与普通模型一样,如下所示:

user = User.find(1)
user.email
对于当前用户,您可以执行
current\u user.email

在控制器中,您应该执行以下操作:

@users = User.all
在你看来

<% @users.each do |user| %>
  <%= user.email %>
<% end %>

Ỳ您应该发现您的用户与普通模型一样,如下所示:

user = User.find(1)
user.email
对于当前用户,您可以执行
current\u user.email

在控制器中,您应该执行以下操作:

@users = User.all
在你看来

<% @users.each do |user| %>
  <%= user.email %>
<% end %>

打印所有使用
用户设置的用户。所有提供的

<% provide(:title, 'Our Users') %>
    <div class="center hero-unit">
      <div>
        <h2>Our Users</h2>
        <%= render 'shared/user', :collection=>User.all %>
    </div>
</div>

我们的用户
User.all%>
打印所有使用
用户设置的用户。所有提供的

<% provide(:title, 'Our Users') %>
    <div class="center hero-unit">
      <div>
        <h2>Our Users</h2>
        <%= render 'shared/user', :collection=>User.all %>
    </div>
</div>

我们的用户
User.all%>

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

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


我抛弃了新的用户控制器,只是将我的观点改为:

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



砰!马上就出现了。

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

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


我抛弃了新的用户控制器,只是将我的观点改为:

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



砰!立即显示。

作为此问题的更新。截至今天,@Dougui提供的答案目前正在为designe工作。自2012年以来,Desive gem中的某些内容可能已经更新,但现在您可以在控制器中定义
@users=User.all
,以便在视图中访问它。只需确保将其放置在该页面的
def
中即可。例如,如果您有一个用于各种页面的页面控制器,并且您希望站点上的用户有一个rolodex,请确保在下为rolodex页面定义了变量,如下所示:(注意,在本例中,该变量仅对rolodex页面可用。)

app/controllers/pages\u controller.rb


作为对这个问题的更新。截至今天,@Dougui提供的答案目前正在为designe工作。自2012年以来,Desive gem中的某些内容可能已经更新,但现在您可以在控制器中定义
@users=User.all
,以便在视图中访问它。只需确保将其放置在该页面的
def
中即可。例如,如果您有一个用于各种页面的页面控制器,并且您希望站点上的用户有一个rolodex,请确保在下为rolodex页面定义了变量,如下所示:(注意,在本例中,该变量仅对rolodex页面可用。)

app/controllers/pages\u controller.rb


您的
user
变量指向的是
NilClass
对象,而不是
user
@injekt的实例是的,这正是我所要解决的问题。我曾尝试在一个新的控制器中定义用户,但结果总是为零。不确定我做错了什么。您的
user
变量指向的是
NilClass
对象,而不是
user
@injekt的实例是的,这就是我所要解决的问题。我曾尝试在一个新的控制器中定义用户,但结果总是为零。不知道我做错了什么。不。这通常是可行的,但由于某种原因,Desive控制器有自己的想法,我还没有弄明白。嗯。不。这通常是可行的,但由于某种原因,Desive控制器有自己的想法,我还没有弄明白。如上所述的注意事项。这通常是可行的,但由于某种原因,Desive控制器有自己的想法,我还没有弄明白。如上所述的注意事项。这通常是可行的,但出于某种原因,Desive控制器有自己的想法,我还没有弄明白。