ruby on rails:将视图绑定到非数据库模型

时间:2013-05-10 11:09:41

标签: 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是从控制器创建的。只是添加<%= form_for @shelfDetailObject..%>引发了一个未定义的model_name错误。我必须添加<% form_for @shelfDetailObject, :as => :ShelfDetailStep...%>才能使其正常运行。

为什么在代码示例通常只使用objectName将视图绑定到模型时,我必须这样做?当我尝试将对象命名为@shelfDetailStep时,这不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用有源模型的电源。只需为该类添加所需的模块。

在ShelfDetailStep类

中添加以下行
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming