我想使用辅助函数,填写 where 子句
在我看来,我有这条线
<%= f.collection_select(:artikelgroep_id, Artikelgroep.where(artikelgroeps_not_in_users_selection), :id, :omschrijving) %>
在助手中:
module ArtikelgroepsHelper
def artikelgroeps_not_in_users_selection
a1='"id NOT IN (SELECT artikelgroep_id FROM user_artikelgroeps WHERE user_id = :uid)"' + "," + "{uid: @user.id}"
end
end
当我执行视图时,我收到消息:
SELECT `artikelgroeps`.* FROM `artikelgroeps` WHERE ("id NOT IN (SELECT artikelgroep_id FROM user_artikelgroeps WHERE user_id = :uid)",{uid: @user.id})
看来占位符没有解决。
当我直接填写助手的结果而不是 artikelgroeps_not_in_users_selection 时,它工作正常。
如何强制解决占位符?