2014-02-27 39 views
1

我有2個不同的註冊頁面,一個用於普通用戶,另一個用於籌款活動。爲創建用戶,我正在使用Devise,並具有正常的名稱,電子郵件和密碼字段。 對於籌款這些領域與一些額外的領域有共同所以,我在user.rb使用該使用Ruby on Rails中的Devise爲具有不同角色的用戶創建不同的註冊頁面

attr_accessible :campaign_fundraisers_attributes 
has_one :campaign_fundraisers 
accepts_nested_attributes_for :campaign_fundraisers, allow_destroy: true 

這CampaignFundraiser.rb

belongs_to :user 

,這在我的create_fundraiser.html.erb

<%= form_for(resource, :as => resource_name, :class => 'reg',:url => registration_path(resource_name)) do |f| %> 
      <% resource.build_campaign_fundraisers if resource.campaign_fundraisers.nil? %> 
      <%= f.fields_for :campaign_fundraisers do |u| %> 

在這裏我可以創建用戶並同時在用戶和募捐活動的表單提交表,但我面對這裏的問題是保存數據每當我得到一個錯誤(通過設計驗證),我會被重定向到正常用戶的註冊頁面,並顯示錯誤消息。 我想要一個解決方案,以便在相同的創建募捐活動頁面上獲取錯誤消息,而不必在正常用戶的註冊頁面上重定向。

所以請爲我的問題提出任何解決方案,因爲我是Rails新手,這是我的第一篇文章。

回答

0

您可以將此文件說使用config.scoped_views一樣,config.scoped_views

配置/初始化/ devise.rb

config.scoped_views = true 

然後,您可以根據喜歡的角色使用視圖的用戶/會話/或新學生/會話/新。如果沒有發現視圖,它將使用設計/會話/新的默認值

相關問題