我需要搜索IdEmpresa
:current_usuario.empresa_id
的所有记录
范围是这样的:
scope :por_empresa, -> { where(IdEmpresa: current_usuario.empresa_id) }
但是我收到了这个错误:
未定义的局部变量或方法current_usuario'for Vendedor(表不存在):Class你的意思是? current_scope
我可以不在模型中调用current_user
吗?
答案 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。对我来说,在你的代码库中使用非英语单词看起来不好看。