ヘルパー関数を使用して、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 の代わりにヘルパーの結果を直接入力すると、正常に動作しています。
プレースホルダーを強制的に解決するにはどうすればよいですか??