2012-05-05 19 views
7

对于订阅表单,我需要一个未映射到我的User对象的字段。如何使用Formtastic添加与模型无关的输入

此字段仅用于向用户询问邀请代码,该代码是根据控制器的创建操作中的邀请列表进行检查的,但未保存在任何地方,并且与该用户对象没有关系。

我想:

<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
    <%= f.input :invitation_key, :input_html => {:name => 'invitation_key', :id => 'invitation_key'} %> 

但它不工作。

用Formtastic做这件事的正确方法是什么?

回答

3

梅琳达的答案是好的,但由于额外的属性具有一定的相关用户的模式,我会创造对用户的访问(实际上,我想创建一个注册的模式,但这是题外话):

class User 
    attr_accessor :invitation_key 
end 

然后修改控制器要么检查@user.invitation_keyparams[:user][:invitation_key]

6

你可以做这样的事情而不是f.input。我不能找到一种方法,用Formtastic特定的帮手做:

<li> 
    <%= label_tag 'Invitation Key' %> 
    <%= text_field_tag :invitation_key %> 
</li> 
相关问题