我只有一个collection_select
,允许用户选择共享相同business.id
的任何用户。它使用在Ruby中创建的列表@colleagues
:
#events_controller#new
@colleagues = User.where(business_id: current_user.business_id)
#events/new.html.erb
<%= f.collection_select :id,
@colleagues,
:id,
:full_name %>
但目前,此列表包含 current_user
,我不想发生这种情况(用户 无法自己选择它们)。 有没有办法可以从此列表中排除current_user
查询数据库?我正在使用SQLite。
谢谢,任何进一步的解释都会非常感激,因为我不熟悉Ruby和SQL。
答案 0 :(得分:2)
@colleagues = User.where(business_id: current_user.business_id).where.not(id: current_user.id)
答案 1 :(得分:1)
您可以传递给collection_select类似
的内容@colleagues.reject {|user| user.id == current_user.id }
答案 2 :(得分:0)
此代码在rails 6.0.0中对我有效
form.collection_select :parent_id, Collection.all.where.not(id: collection.id), :id, :title