モデルにヘイムダルを使用しており、ビューではdestroyable?
メソッドを使用していますが、destoyスコープは所有者または管理者にのみ使用しており、ユーザーがログインしていない場合はdestroyable?
メソッドでランタイムエラーが発生しますThe :delete scope does not exist
これを修正する方法は?
モデルにヘイムダルを使用しており、ビューではdestroyable?
メソッドを使用していますが、destoyスコープは所有者または管理者にのみ使用しており、ユーザーがログインしていない場合はdestroyable?
メソッドでランタイムエラーが発生しますThe :delete scope does not exist
これを修正する方法は?
モデルにスコープまたはメソッドを作成し、:delete
レコードを返さないものに設定してみましたか?
このコードは失敗しているところのようです:
https://github.com/roundlake/heimdallr/blob/master/lib/heimdallr/proxy/record.rb
def destroyable?
scope = @restrictions.request_scope(:delete)
record_in_scope? scope
end
したがって、スコープがレコードを返さない場合、理論的には問題なく機能するはずです。
scope :delete, where(YourModel.arel_table[:id].lt(0))