मेरे आवेदन में, केवल व्यवस्थापक भूमिका वाले उपयोगकर्ता नए उपयोगकर्ता बना सकते हैं। नए उपयोगकर्ता प्रपत्र में, मेरे पास प्रत्येक उपलब्ध भूमिकाओं के लिए एक चयन बॉक्स है जिसे नए उपयोगकर्ताओं को असाइन किया जा सकता है।रेल: क्या आप बाद की विधि के लिए तर्क पारित कर सकते हैं?
मैं उपयोगकर्ता को भूमिका निभाने के लिए बाद की कॉलबैक विधि का उपयोग करने की उम्मीद कर रहा हूं। मैं after_create विधि में चयन बॉक्स के चयनित मान को कैसे एक्सेस कर सकता हूं?
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
flash[:notice] = 'User creation successful.'
format.html { redirect_to @user }
else
format.html { render :action => 'new' }
end
end
end
उपयोगकर्ता मॉडल में मेरे पास है:
after_create :assign_roles
def assign_roles
self.has_role! 'owner', self
# self.has_role! params[:role]
end
मैं एक त्रुटि प्राप्त क्योंकि मॉडल पता नहीं है क्या भूमिका है।
हां, आप जो चाहते हैं वह "वर्चुअल विशेषता" है जो चेकबॉक्स चयन को शामिल करता है। इस पर एक महान रेलस्कास्ट है: http://railscasts.com/episodes/167-more-on-virtual-attributes –