2013-05-10 56 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