2015-07-10 3 views
0

Я пишу приложение rails, в котором у меня есть форма для добавления информации о студентах. Форма имеет текстовые поля для имени, возраста, адреса и т. Д. Обычно, когда вы нажимаете кнопку отправки, эта информация будет отправляться на сервер, и вы можете создать нового ученика, когда страница обновится.Соберите данные в переменной в форме рельсов

Я не хочу этого. Я хочу, чтобы при нажатии кнопки отправки они сохраняли эти данные в переменной (или любым другим способом), а затем я мог бы продолжать добавлять следующую информацию о студенте. Я могу продолжить это несколько раз. После добавления n студентов я нажимаю кнопку «Готово», и данные всех русских студентов должны быть отправлены на сервер. Это возможно?

+0

Стандартным ответом на этот вопрос является использование вложенных атрибутов. Это хорошо объясняется в [Railscast 196] (http://railscasts.com/episodes/196-nested-model-form-revised). –

+0

Возможно [# 217 Multistep Forms] (http://railscasts.com/episodes/217-multistep-forms)? – mysmallidea

+0

Или используя javascript ... http://thecodeplayer.com/walkthrough/jquery-multi-step-form-with-progress-bar – mysmallidea

ответ

0
i am adding an example here... 

a.first name and last name with dynamically add n number of address details and phone number 
b.have a separate table for name, address and phone. 
c.one to many relation 
d name can have number of address and phone.(have name id as foreign key in address and phone table) 

ex: 
first name = tom, last name = jerry, address:xx1, phone:yy1,address:xx2, phone:yy2. 

store it like 

first name = tom, last name = jerry, address:xx1, phone:yy1 
first name = tom, last name = jerry, address:xx2, phone:yy2 



sample erb file 

    <%= form_tag(controller: "contacts", action: "create", method: "post",) do %> 


    <blockquote> 
    <%= label_tag :first_name %> 
    <%= text_field_tag :first_name, params[:first_name] %> 

    <%= label_tag :last_name %> 
    <%= text_field_tag :last_name, params[:last_name] %> 
    </blockquote> 

     <blockquote> 
    <h3>Adress Details </h3> 
    <div id="skillSet1"> 
     <%= render 'address' %> 
    </div> 
    <a href="javascript:;" id="addNewTag1">Add Additional Address Details</a> 

    <div class="hide" id="new_skills_form1"> 
     <%= render partial: "address", locals: {skill: false} %> 
    </div> 
     </blockquote> 

    <blockquote> 
    <h3>Phone Number </h3> 
    <div id="skillSet"> 
     <%= render 'phone' %> 
    </div> 
    <a href="javascript:;" id="addNewTag">Add Additional Phone Details</a> 

    <div class="hide" id="new_skills_form"> 
     <%= render partial: "phone", locals: {skill: false} %> 
    </div> 

    </blockquote> 
    <div class="actions"><%= submit_tag 'Save' %></div> 
    <div><%= link_to 'Back', :action => :index %></div> 
<% end %> 

javascript 

    $(document).ready(function(){ 
    $("#addNewTag").click(function(){ 
     $("#skillSet").append($("#new_skills_form").html()); 
    }); 
}); 

$(document).ready(function(){ 
    $("#addNewTag1").click(function(){ 
     $("#skillSet1").append($("#new_skills_form1").html()); 
    }); 
}); 
Смежные вопросы