Ruby on rails 4 如何制作仪表板并关联两个模型

Ruby on rails 4 如何制作仪表板并关联两个模型,ruby-on-rails-4,Ruby On Rails 4,我将把这两个问题放在同一个主题中,因为有更多的人在问同一个问题 我想将订单分配给用户,然后在订单的视图中。索引打印与该用户关联的所有订单的列表 我的型号: class Order < ActiveRecord::Base belongs_to :user class User < ActiveRecord::Base has_many :orders devise :database_authenticatable,

我将把这两个问题放在同一个主题中,因为有更多的人在问同一个问题

  • 我想将
    订单
    分配给
    用户
    ,然后在
    订单的视图中。索引
    打印与该用户关联的所有订单的列表 我的型号:

    class Order < ActiveRecord::Base
                    belongs_to :user
    
    
    class User < ActiveRecord::Base
                   has_many :orders
    devise :database_authenticatable, :registerable, :recoverable, 
                                      :rememberable, :trackable, :validatable
    end
    
    <% @users.each do |user| %>
    <tr>
      <td><%= user.order.name %></td>
    <tr>
    
    类顺序
    那么在我看来:

    class Order < ActiveRecord::Base
                    belongs_to :user
    
    
    class User < ActiveRecord::Base
                   has_many :orders
    devise :database_authenticatable, :registerable, :recoverable, 
                                      :rememberable, :trackable, :validatable
    end
    
    <% @users.each do |user| %>
    <tr>
      <td><%= user.order.name %></td>
    <tr>
    
    
    
    我得到了
    nil:NilClass
    错误的未定义方法
    each
    。我怎样才能以正确的方式做到这一点

    是的,我是一个初学者,我在这个问题上坚持了太久

  • 我当时正在制作一个非常简单的应用程序的仪表盘,但我没走多远。问题是:制作仪表板的最佳方法是什么?比如说,我想把更多型号的信息放在上面:

    • 客户订单清单
    • 右上角的用户控件(Desive)
    • 每个订单的一些分析数据
  • 你会如何处理这样的仪表板?与往常一样,所有数据都将与用户关联——当您登录到应用程序时,您将看到您的数据

  • 您是否将变量@users分配给控制器中的User.all?虽然.all已被弃用,但也许User.unscoped更好

    class YourController < ApplicationController
      def index
        @users = User.unscoped
      end
    end
    
    class YourController
  • 为什么你说有很多:弹出窗口而没有很多:订单?如果没有专门指定类,则需要与其他模型的名称匹配。或者,如果这是另一种关系,那么您还需要向您的用户模型中添加has_many:orders。那么在你看来,

      <% @users.each do |user| %>
      <tr>
        <td><%= user.order.name %></td>
      </tr>
    
    
    
  • 这是一个非常笼统的问题。我认为你最好读一些指南,然后试一试。然后,任何特定的问题都会将它们发布到堆栈上

  • 如何收集
    @users
    中的用户列表?分享你的控制器动作代码。还可以共享弹出式模型代码。什么是
    @users
    ,您如何填充它?2.您在问题中谈论的是订单,但在视图中,您使用的是弹出窗口。3.用户
    activeadmin
    railsadmin
    对于仪表板之类的东西,它们对于管理仪表板来说非常方便。忽略前面的评论,如果你看到它,它不太正确,为什么你没有很多:用户模型中的订单?弹出窗口是什么?它与问题1相关的内容有什么关系?此外,您的弹出关联以复数形式标记(应该是.popups)。由于它是一个有许多
    ,因此您正在检索一个
    弹出窗口数组
    ,并且在此集合上调用
    。name
    将不起作用;您必须遍历
    弹出窗口
    数组,并对每个元素调用
    .name
    。很抱歉,弹出窗口是一个拼写错误。弹出窗口=Order@JohnDoeTheOne好啊因此,如果用户是
    @users,我们将不得不查看收集的
    @users
    是如何创建的。每一行都是它崩溃的地方。对不起,弹出窗口是一个拼写错误。弹出窗口=订单