2015-01-14 6 views
2

В моем приложении у меня есть модель мысли, которая имеет атрибуты контента и автора.Создание нескольких записей с использованием одной формы (не вложенные атрибуты)

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

Пожалуйста, предложите какое-либо решение. Спасибо заранее!

ответ

3

Вы можете попробовать, используя раствор

В вашем View File

<%= form_tag your_action_path do %> 
    <% 4.times do |i|%> 
    Content : <%= text_area_tag :thought_content, "", :name => "thoughts[][content]" %> 
    Author : <%= text_field_tag :thought_author, "", :name => "thoughts[][author]" %> 
    <% end %> 
    <%= submit_tag "Submit" %> 
<% end %> 

Controller Код:

def your_action 
    params[:thoughts].each do |thought_params| 
    Thought.create(thought_params) 
    end 
    ### 
    #Any further code# 
    ### 
end 

Надеется, что это работает для вас :)

+0

Спасибо, это сработало. :) –

3

В интерфейсе вы можете использовать функцию JQuery OnClick, чтобы добавить поля для более мыслей, то есть вы можете добавить ссылку под названием «добавить еще» & создать функцию JQuery, чтобы добавить поля для другой мысли в той же форме, с динамическими именами полого & в бэкэнд вы можете использовать

@thoughts = Thought.create([{ author: 'Chicago', content: 'content' }, { author: 'Chicago', content: 'content' }, .......]) 

Чтобы создать несколько записей за один раз.

+1

Хорошего раствора один лайнера ! –

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