用户在范围内搜索记录

时间:2016-10-06 13:07:21

标签: ruby-on-rails ruby-on-rails-4

我需要搜索IdEmpresacurrent_usuario.empresa_id的所有记录 范围是这样的:

scope :por_empresa, -> { where(IdEmpresa: current_usuario.empresa_id) }

但是我收到了这个错误:

  

未定义的局部变量或方法current_usuario'for   Vendedor(表不存在):Class你的意思是? current_scope

我可以不在模型中调用current_user吗?

1 个答案:

答案 0 :(得分:1)

不,你不能在模特中打电话给DataTable.AcceptChanges。此助手仅在控制器/视图中可用。

您可以更改范围以接受参数:

current_user

现在您可以在控制器中使用它,如下所示(将scope :por_empresa, ->(user) { where(IdEmpresa: user.empresa_id) } 对象作为参数传递给范围):

current_user

当然,您只需传递用户的Model.por_empresa(current_user)

即可对其进行优化
id

P.S。对我来说,在你的代码库中使用非英语单词看起来不好看。