2

次の質量割り当て保護が定義されているモデルがあります。

attr_accessible :attachment, :body, :feed_id
attr_accessible :attachment, :body, :feed_id, :approved, :as => :admin 

コードはコントローラーで期待どおりに機能し、次のapprovedように呼び出された場合にのみ一括割り当てが可能になります

@post.update_attributes(params[:post], :as => :admin)

私は通常、次のようにshouldaを使用してマス割り当てをテストします。

it { should_not allow_mass_assignment_of(:approved) }

ただし、スコープ付きのマス割り当てをテストする方法が見つかりません。たとえば、次のようなものです。

it { should allow_mass_assignment_of(:approved, :as => :admin) }

(それは機能しません)。

誰かがこれをテストする方法を知っていますか?

4

1 に答える 1

4

Rails>3.1の場合は試してください

it { should allow_mass_assignment_of(:approved).as(:admin) }
于 2013-01-06T14:16:21.677 に答える