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