Ruby on rails RubyonRails显示页面,用于员工显示与员工登录状态相同的客户

Ruby on rails RubyonRails显示页面,用于员工显示与员工登录状态相同的客户,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是RubyonRails新手,下面是我正在构建的应用程序的一个要求。 “来自该地理区域的销售人员使用内部门户来审查请求,并将请求标记为处于合格阶段” 因此,基本上我希望我的员工显示页面显示已经在系统中但与登录的员工属于相同状态的客户。例如,来自纽约的员工应该只能看到来自纽约的所有新客户。因此,它应该只显示登录员工所在地理位置的客户。我的登录将员工重定向到他们的显示页面,我希望在其中显示客户名称。 这是我的展示页面的代码。 我有客户请求:应该列出与员工处于相同状态的客户。我试过: <

我是RubyonRails新手,下面是我正在构建的应用程序的一个要求。 “来自该地理区域的销售人员使用内部门户来审查请求,并将请求标记为处于合格阶段”

因此,基本上我希望我的员工显示页面显示已经在系统中但与登录的员工属于相同状态的客户。例如,来自纽约的员工应该只能看到来自纽约的所有新客户。因此,它应该只显示登录员工所在地理位置的客户。我的登录将员工重定向到他们的显示页面,我希望在其中显示客户名称。 这是我的展示页面的代码。 我有客户请求:应该列出与员工处于相同状态的客户。我试过:

    <%= @customer.state_id %> but this does not work. 
但这不起作用。
下面是我的展示页面代码

    <p id="notice"><%= notice %></p>

    <p>
    <strong>First name:</strong>
    <%= @employee.first_name %>
    </p>

    <p>
    <strong>Last name:</strong>
    <%= @employee.last_name %>
    </p>   

      <p>
        <strong>City:</strong>
       <%= @employee.city %>
            </p>

           <p>
      <strong>State:</strong>
      <%= @employee.state.state %>
      </p>

      <p>
      <strong>Role:</strong>
       <%= @employee.role.role %>
      </p>

       <p>
       <strong>Manager:</strong>
       <%= @employee.manager_name %>
       </p>

       <p>
       <strong>Customer Requests:</strong>
        </p>
        <%= link_to 'Edit', edit_employee_path(@employee) %> |
        <%= link_to 'Back', employees_path %>

名字:

姓氏:

城市:

状态:

角色:

经理:

客户请求:

|
请发布模式和模型,没有这些,很难猜测

基本上,您的模式应该有用于用户、地址和角色的表。在您的情况下,雇员和客户都是用户,他们共享用户名、密码等字段。。。。因此,您可以将它们合并到一个表中,并可以添加字段调用类型来区分它们。创建从users表继承的Employee类和Customer类。用户表应具有整数字段地址\u id,地址表应具有整数字段状态\u id

user.rb应具有以下特性:

class User < ActiveRecord::Base
  has_many :addresses
  ...
end
“但这不起作用”是什么意思?它做了什么不应该做的事?它只是打印州的ID而不是州的名称吗?
class Customer < User
....
end
class Address < ActiveRecord::Base
  belongs_to :user
  belongs_to :state
 ...
end
class State < ActiveRecord::Base
    has_many :addresses
   ....
end
@current_state_id = @customer.addresses.first.state_id (#or state_id of default address)

@employees = Employee.joins(:addresses).where("addresses.state_id = ?", @current_state_id)