2013-05-10 55 views
0

我已經將特定視圖綁定到非數據庫模型。ruby​​ on rails:將視圖綁定到非數據庫模型

這裏是模型

class ShelfDetailStep 

    attr_accessor :leftMostBinId, :numberOfBins  


end 

這裏是取一個對象從控制器

<%= form_for @shelfDetailObject, :as => :ShelfDetailStep, :url => { :action => "validate_random_bin" } do |f| %>  
      <div>Enter the number of bins in the shelf </div> 
      <%= f.text_field :numberOfBins %> 
      <%= submit_tag 'Enter' %> 
     <% end %> 

shelfDetailObject從controller.Here只是添加<%= form_for @shelfDetailObject..%>創建的對象扔一個未定義的模型名稱的視圖錯誤。我必須添加<% form_for @shelfDetailObject, :as => :ShelfDetailStep...%>才能正常工作。

當代碼示例通常只使用objectName將視圖綁定到模型時,爲什麼我必須這樣做?當我嘗試將對象命名爲@shelfDetailStep時,這不起作用。

回答

0

您可以使用主動模型的功率。只需添加你想要的那個模塊。 ShelfDetailStep類中

添加以下行

include ActiveModel::Validations 
include ActiveModel::Conversion 
extend ActiveModel::Naming