对于订阅表单,我需要有一个未映射到我的用户对象的字段。
此字段仅用于要求用户提供邀请码,该邀请码在控制器的create操作中根据邀请列表进行检查,但不会保存在任何地方,并且与此用户对象没有关系。
我试过了:
<%= 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做这件事的正确方法是什么?
发布于 2012-06-06 19:14:13
Melinda的回答很好,但由于额外的属性在某种程度上与用户模型相关,因此我将在用户上创建一个访问器(实际上,我将创建一个Signup模型,但这是题外话):
class User
attr_accessor :invitation_key
end然后修改您的控制器以检查@user.invitation_key或params[:user][:invitation_key]。
发布于 2012-05-18 05:26:00
您可以这样做,而不是使用f.input。我找不到使用Formtastic特定帮助器的方法:
<li>
<%= label_tag 'Invitation Key' %>
<%= text_field_tag :invitation_key %>
</li>https://stackoverflow.com/questions/10466235
复制相似问题