如何为rails定义额外的方法text_field

时间:2015-06-16 07:59:13

标签: ruby-on-rails ruby

从我的表中删除dimensions后,我的脚手架视图发现此错误:undefined method 'dimensions'此代码:

<div class="field">
    <%= f.label :dimensions %><br>
    <%= f.text_field :dimensions %>
  </div>

我想在形式和控制器中保留这个维度字段,我希望将此字符串拆分为长度,宽度和高度。

现在该怎么办?

3 个答案:

答案 0 :(得分:1)

model中尝试将此属性dimensions保留为虚拟属性

 Class ModelName < ActiveRecord::Base
   attr_accessor :dimensions
 end

答案 1 :(得分:1)

您需要一个虚拟属性,使用attr_accessor

完成

attr_accessor是一种用于创建gettersetter方法的ruby方法。这基本上意味着您可以创建一系列virtual attributes,以便在models

中使用
Class Table < ActiveRecord::Base
  attr_accessor :dimensions
end

答案 2 :(得分:1)

如果您只想在控制器中使用它,请使用f.text_field :dimensions而不是text_field_tag :dimensions。您可以使用params[:dimensions]

直接在操作中访问此属性