2013-04-03 29 views
0

我對Rails有點新,所以請耐心等待。如何在不同模型視圖中刷新錯誤

我有2個模型客戶端和產品。產品是相關的,因此,在客戶端展示視圖中,我創建了一個產品創建表單。創建成功或失敗後,我返回到客戶端顯示視圖。如果創建出錯,我想要顯示任何錯誤,但似乎無法訪問我在嘗試創建Product實例時使用的@product,以找出其錯誤。當重定向到client_path(客戶端)時,我必須傳遞@product嗎?如果是這樣,怎麼樣?

順便說一句,成功的作品,因爲我使用閃光來表明,但錯誤,我確實想顯示他們在不同的位置,上面的形式。如果沒有其他的工作,我想我應該通過錯誤閃光,但我不知道如何做到這一點。

回答

2

U的右... u必須通過@product重定向到client_path(客戶端)時.. 例如... client_path(客戶端,@product)

可以顯示在客戶端顯示錯誤信息頁面如下

 <% if @product.errors.any? %> 
      <div class="alert alert-error"> 
      <ul> 
       <% @product.errors.full_messages.each do |msg| %> 
        <li> <%= msg %></li> 
       <% end %> 
      </ul> 
      </div> 
     <% end %> 
+0

我試過了。只需在重定向中添加@product(錯誤顯示已經存在),但不會顯示錯誤。還有其他什麼缺失?我必須在控制器show方法中處理新轉發的實例變量嗎? –

+0

順便說一句,思考一下。我不知道這應該如何工作。 redirect_to是發送回瀏覽器的「命令」,以便發送「clients/[id]」的請求。這怎麼能添加產品錯誤信息所需的所有數據? (並不是說這不可能,但我非常懷疑它)。現在,產品實例變量還沒有被保存,這就是爲什麼我想首先顯示錯誤信息的原因!所以它不能只將產品ID添加到發送到瀏覽器的鏈接上。 –