0
在创建新应用程序时,我使用了marklocklear示例(https://github.com/marklocklear/devise_multi_tentant)来帮助创建多租户环境。它运作良好。注册表单:无法隐藏字段
接下来我想做的事情我认为会很简单,但对我来说已经变得相当吝啬。
我想要做的不是让最初的管理员用户必须输入组织名称(在我的应用程序中不需要),我想隐藏该字段。
注册表格(的作品):
<h2>Sign up</h2>
<% resource.organization ||= Organization.new %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :email %><br />
<%= f.email_field :email %></div>
<%= f.fields_for :organization do |org| %>
<div><%= 'Organization or Company Name' %><br />
<%= org.text_field :name %></div>
<% end %>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>
所以,我这样做是为了试图隐藏字段:
<%= f.fields_for :organization do |org| %>
<%= f.hidden_field :name %>
<% end %>
但我得到一个错误。
对我而言,令人困惑的是,如果我离开这个领域,但不要输入一个值,那么所有东西都能正常工作 - 这是意想不到的。由于(作为我的疑难解答的一部分),我完全删除了该字段 - 并收到错误消息,指出无法处理表单,因为组织部分为空。
任何援助将不胜感激。
使用'org.hidden_field'不'f.hidden_field' – Max
谢谢您的帮助。它工作完美。 – user1648020