1
在我的控制器當用戶創建一個新的職位,他/她將被重定向到包含新創建的職位的頁面。我想在rspec中創建一個測試來覆蓋此重定向,但是遇到問題。具體來說,我想知道在refirst_to參數中寫什麼。這裏是下面的控制代碼..Rspec的重定向到測試
def create
@micropost = Micropost.new(params[:micropost])
respond_to do |format|
if @micropost.save
format.html {redirect_to @micropost}
else
format.html {render action: 'edit'}
end
end
end
這裏是RSpec的測試...
before do
@params = FactoryGirl.build(:micropost)
end
it "redirects to index" do
#clearly @params.id doesn't work. its telling me instead of a redirect im getting a
#200
#response.should redirect_to(@params.id)
end
嗯..添加'micropost:@ params.attributes'告訴我我不能質量分配屬性。沒有它,它告訴我我沒有收到重定向。還需要進一步調查。 – jason328
這錯誤是由你的控制器呼籲Micropost.new引起的(PARAMS [:微柱])。見http://guides.rubyonrails.org/security.html#mass-assignment –
我得到它的工作,但我首先有一個快速的問題。究竟是什麼寫作'原因:=微柱> @ params.attributes' VS只是'@ params'? – jason328