2013-08-13 5 views
-1

Я новичок в Rails, и я разрабатываю приложение, которое должно отображать информацию о пациентах в форме, которая будет обновляться врачом, если это необходимо. Как только я могу выбрать пациента из списка с боковой панели, я хочу сначала отобразить только пустую форму, и когда будет выбран пациент, вся информация будет отображаться на нем.Показать пустую форму Rails

Единственный способ, которым я могу это догадаться, - сначала отобразить форму пустым, а затем, как только пациент будет выбран, поймайте пациента на контроллере и перезагрузите страницу, чтобы форма могла получить информацию о пациенте.

У кого-нибудь есть идея? На отрицательном ответе: как я могу отобразить пустую форму?

Заранее благодарим за ваше время.

С уважением.

Обновление: Это форма, которую я пытаюсь представить на странице. @patient - это переменная экземпляра, которая, как только страница отображается, еще не определена. Он будет отображаться после того, как врач выберет одного пациента из списка сбоку.

<div class="row">                    
    <div class="span6">                   
    <%= render 'shared/error_messages' %>              
    <div>                      
    <%= form_for(@patient) do |p| %>                
     <%= text_field_tag 'patient[name][]', nil, :placeholder => "name", :style =>height:12px;font-size:10px;" %>                    
     <%= text_field_tag 'patient[name][]', nil, :placeholder => "surname", :style =>"height:12px;font-size:10px;" %>                   
     <%= p.text_field :email, :placeholder => "email", :style => height:12px;font-size:10px;" %>                        
    <%= p.text_field :phone, :placeholder => "phone", :style => height:12px;font-size:10px;" %>                   
     <%= check_box_tag :active %>                
     <%= check_box_tag :sex, 'male' %>               
     <%= check_box_tag :sex, 'female' %>              

     <%= chack_box_tag :dao %>                 
     <%= p.submit "Sumbit", class: "btn btn-small btn-primary pull-right", id: "boton" %>  
    <% end %>                     
    </div>                      
    </div>                       
</div> 

Проблема в этом. Как @ patient = nil на контроллере, так как on выбрана авария страницы.

Еще раз спасибо.

+1

все, что вы пробовали, пожалуйста, вставьте сюда код. –

+0

Привет, код, который я вставляю на страницу, следующий: –

ответ

1

То, что вы описываете здесь основные действия регулятора на вашей модели:

  • Пустая форма: #new действия на контроллере пациентов
  • Заполненная форма: #edit действия на контроллере пациентов

Редактировать: Новая стратегия выполнения предлагаемого UX

Comp onent 1: Nav Список существующих пациентов

  1. перебрать коллекцию объектов пациента, выводя связь для каждого пациента с его точки зрения редактирования: link_to patient.name, edit_patient_path(patient)
  2. Этот вид нав будет частичным, что вы будете включать в просмотреть шаблоны для действия #include для PatientsController и действия #edit.

Компонент 2: Пустая форма для несуществующего/Нового пациента

  1. контроллера нового действия, экземпляр нового объекта пациента, например, так @patient = Patient.new.
  2. Измените форму пациента на этой переменной экземпляра @patient, как показано выше в коде представления.
  3. Включите навигационный список существующих пациентов как частичный вид.

Компонент 3: Заполненная Форма для существующего Пациент

  1. В контроллере редактирование действия, экземпляр переменного экземпляра пациента, например, так @patient = Patient.find(params[:id]).
  2. Измените форму пациента на этой переменной экземпляра @patient, как показано выше в коде представления.
  3. Включите навигационный список существующих пациентов как частичный вид.

Edit: Старые очки на строительном лесе

Я настоятельно рекомендую использовать рельсы генераторы и строительные леса, чтобы настроить основные формы и просматривать шаблоны, по крайней мере, в качестве учебного преследования. В командной строке вы сможете автоматически генерировать правильные действия контроллера и просматривать шаблоны, описанные выше для #new и #edit.

Прочитайте эту статью: http://viget.com/extend/rails-3-generators-scaffolding

Далее следует этому учебнику: http://railscasts.com/episodes/216-generators-in-rails-3

Как вы стали более комфортно с развитием Rails, генераторами и строительными лесами, скорее всего, не удовлетворит вас и потребности в настройку. Однако они являются отличной отправной точкой.

Смотрите также: http://guides.rubyonrails.org/getting_started.html#getting-up-and-running

+0

Привет, Карлос, большое спасибо за ваш ответ, но это не проблема управления лесами или созданием контроллера/действий. Мой вопрос состоит в том, чтобы представить пустую форму на странице, на которой у меня действительно есть некоторые формы в приложении, которые работают отлично, но мне нужна эта конкретная вещь. –

+0

Хорошо, я буду излагать свой ответ в отношении # нового действия. –

+0

Спасибо Карлос. Я попробую это;) –

1

Я думаю, еще один вариант вы можете Инстанцировать ваш объект на самой вашей форме:

<%= form_for(Patient.new) do |p| %> 

Благодаря

Смежные вопросы