如何自定义Devise_invitable生成的表单?

时间:2013-02-27 07:41:33

标签: ruby-on-rails ruby-on-rails-3 forms devise devise-invitable

表单路径为user/invitations/invitations/edit.html.erbnew.html.erb

Edit.html.erb

    <h2><%= t 'devise.invitations.edit.header' %></h2>
    <%= form_for resource, :as => resource_name, :url => invitation_path(resource_name),  :html => { :method => :put } do |f| %>
    <%= devise_error_messages! %>
    <%= f.hidden_field :invitation_token %>

    <p><%= f.label :username %><br />
    <%= f.text_field :username %></p>

    <p><%= f.label :password %><br />
    <%= f.password_field :password %></p>

    <p><%= f.label :password_confirmation %><br />
    <%= f.password_field :password_confirmation %></p>

    <p><%= f.submit t("devise.invitations.edit.submit_button") %></p>
    <% end %>

我自己在edit.html.erb中添加了以下内容,但表单未显示字段

    <p><%= f.label :username %><br />
    <%= f.text_field :username %></p>

请让我知道如何处理这个问题。并为devise_invitable定制表单

2 个答案:

答案 0 :(得分:3)

我通过以下命令再次生成视图:

    rails generate devise_invitable:views users

然后发现嵌套完成用户/邀请/ invitaions / edit.html.erb是错误的。

应该像views / users / invitations / edit.html.erb

这解决了我的问题,现在我可以自定义devise_invitable形式。

答案 1 :(得分:1)

您的替换表格应该在这里

app/views/devise/invitations/edit.html.erb