在form_for字段中使用,该字段不在对象中

时间:2013-01-15 14:08:44

标签: ruby-on-rails forms params form-for

我有这样的形式:

= form_for @order do |f|
  .field
    = f.label :city , "Использовать данные вашего профиля*: "
    = f.radio_button :usercase, true, :required => true
    = f.radio_button :usercase, false, :required => true
  .field
    = f.label :city , "Город*: "
    = f.text_field :city, :placeholder => "Minsk", :required => true

但字段:@case中未显示usercase。我如何将radio_button作为params发送到我的控制器方法? 现在我得到:未定义的方法`usercase' 如何发送用户名?

2 个答案:

答案 0 :(得分:3)

Order模型中,您可以添加usercase=方法来处理数据。像这样。

def usercase=(data)
  # DO SOMETHING WITH data
end

变量数据将包含usercase字段的值。

// attr_accessor将定义usercaseusercase=,但您无论如何都必须重新定义usercase=,因为您需要对数据执行某些操作。

答案 1 :(得分:1)

尝试在usercase模型

中将Order定义为虚拟属性
class Order < ActiveRecord::Base
  attr_accessor :usercase
  ...
end

查看the cast了解详情。