2010-06-20 59 views
1

這對我來說似乎是一個相當簡單的問題,但我一直有一些問題。驗證後的導軌保存轉到編輯路徑

在我的意見,我會用上類似

<% if current_page?(:controller => "activities", :action => "new") %> 
     *Do something here* 
<% end %> 

和它特定的形式,新的頁面上的東西。夠簡單,而且效果很好。

不幸的是,我發現,當你有一個「新活動」的形式(假設正常腳手架控制器),該網址會從

http://localhost:3000/activities/new 

提交容易出錯的形式

http://localhost:3000/activities 

但它仍然會顯示具有相應錯誤的新活動表單。所以基本上所有的東西都應該如何運作,除了我需要的網址爲http://localhost:3000/activities/new爲current_page?函數來識別它確實是一個新的表單頁面。

我想知道是否有某種解決此問題的方法。謝謝!

OH,這裏是控制代碼,如果有人需要看到它

控制器代碼

 def new 
     @activity = Activity.new 
     end 

     def create 
     @activity = Activity.new(params[:activity]) 
     if @activity.save 
      flash[:notice] = "Successfully created activity." 
      redirect_to @activity 
      else 
      render :action => 'new' 
      end 
     end 

回答

2

認爲你需要檢查創建以及新

<% if current_page?(:controller => "activities", :action => "new") or current_page?(:controller => "activities", :action => "create") %> 

不是很漂亮可能把它包裝在一個輔助方法中?

+0

謝謝!那是一個「哦,哦!」我的時刻:) – jim 2010-06-20 04:29:13

0

您還可以檢查創建的字段是否爲空。因爲它不會被設置,直到活動創建。