私はdefault_scopeを持つモデルを持っています:
class Campaign < ActiveRecord::Base
default_scope where("campaigns.status != ?", "archive")
end
次に、show アクションでこのスコープを無効にする必要があります。
@campaign = Campaign.unscoped.find(params[:id])
でもわかるCouldn't find Campaign with id=1 [WHERE (campaigns.status != 'archive')]
次に、Rails コンソールで同じソリューションを試しました。
Campaign.unscoped.find(1)
SELECT `campaigns`.* FROM `campaigns` WHERE `campaigns`.`id` = 1 LIMIT 1
そして、すべて正常に動作しますが、コントローラーで何が間違っていますか?
アップデート:
Campaign.unscoped{ }
うまくいきませんでした。show アクションからすべての行を削除すると、次のようになるため、 @campaign は別の場所で以前に決定されたようです。
def show
end
そして、私はまだこのエラーが発生しています:Couldn't find Campaign with id=1 [WHERE (campaigns.status != 'archive')]
でこのトリックを見つけましたload_and_authorize_resource
が、どうすれば修正できますか?