2013-11-22 2 views
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 %> 

Но я получаю сообщение об ошибке.

Непонятная вещь для меня заключается в том, что если я покину поле, но не вводите значение, все будет работать должным образом - это неожиданно. Поскольку (как часть моего устранения неполадок) я полностью удалил поле и получил сообщение об ошибке, в котором форма обработки не могла быть обработана, поскольку часть организации была пуста.

Любая помощь будет оценена по достоинству.

+2

использование 'org.hidden_field' не' f.hidden_field' – Max

+0

Благодарим за помощь. Он отлично работал. – user1648020

ответ

0

Макс: Спасибо. Как вы знаете, это работало как шарм. Поле теперь скрыто, и форма отправляется правильно. Благодарю.

<%= f.fields_for :organization do |org| %> 
     <%= org.hidden_field :name %> 
<% end %> 
Смежные вопросы