[ठीक है ... मेरा पहला सवाल है, तो कोमल हो।], लेकिन मैं विस्तार करने के लिए क्या होता है अपने ही नियंत्रक है जब उपयोगकर्ता बनाया जाता है। मैं पंजीकरण के समय दोनों "उपयोगकर्ता" और "एजेंसी" बना रहा हूं (साइन अप)।समस्या मेरी वसीयत नियंत्रक rspec में</p> <p>मैं अपने प्रमाणीकरण के लिए वसीयत उपयोग कर रहा हूँ "पोस्ट बनाने के"
मार्गों में ...
devise_for :users, :controllers => {:registrations => "registrations"}
मेरे पूरा नियंत्रक ...
class RegistrationsController < Devise::RegistrationsController
def create
super # creates the @user
@agency = Agency.create! params[:agency]
@agency.users << @user
@agency.owner = @user
@user.agency = @agency
@agency.save
@user.account_admin = true
@user.save
end
end
मेरे समस्या मैं इस कोड की जांच करने के लिए एक rspec स्थापित करना चाहते हैं। कोड काम कर रहा है, लेकिन मैं अपने चश्मे में 100% कोड कवरेज के लिए शूटिंग कर रहा हूं। यहां मेरा पूरा spec है ...
require 'spec_helper'
describe RegistrationsController do
render_views
describe "POST create" do
it "creates an associated user" do
@agency = Factory.create(:agency)
@user = Factory.create(:user, :agency => @agency)
User.stub(:new).with({'name' => 'pat'}) { @user }
Agency.stub(:new).with({'name' => 'pat'}) { @agency }
post :create, :user => {'name' => 'pat'}
assigns(:user).should be(@user)
end
end
end
लेकिन, मुझे "पोस्ट बनाने" पर कोई त्रुटि मिल रही है। यहाँ त्रुटि संदेश
Could not find devise mapping for path "/users?user[name]=pat"
और यह (मुझे लगता है कि) है "रेक मार्गों"
user_registration POST /users(.:format) {:action=>"create",:controller=>"registrations"}
किसी भी विचार से प्रासंगिक लाइन है?
पैट
मैं लाइन request.env [ "devise.mapping"] जोड़ने = Devise.mappings कि (परीक्षण और त्रुटि द्वारा) की खोज की। लेकिन मैं वास्तव में समझ नहीं पा रहा हूं कि वह पंक्ति क्या करती है - इसलिए टिप्पणियों की सराहना की जाएगी। – Pat