2015-03-09 2 views
0

Я новичок Rails, и у меня есть приложение RoR, над которым я работаю, приложение должно разрешить приглашенным гостям на свадьбу.Приложение Ruby on Rails - добавление нескольких динамических полей ввода

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

Есть ли что-то конкретное, что мне нужно сделать, чтобы отобразить все остальные имена в поле внутри таблицы?

Это мой текущий контроллер до сих пор:

+3

Я хотел бы предложить вам подобрать хорошую книгу на Rails, чтобы начать с (например, Agile Web Development с Rails) и вернуться с конкретными вопросами, когда вы застряли с чем-то. Также в документации по скрепкам есть хороший обзор того, как начать интеграцию в приложение Rails. –

+0

Я согласен с @AlokSwain, что вам нужно найти хорошую книгу. Этот вопрос довольно широк. Но, в общем, вам нужно выяснить, какие данные вам нужны в первую очередь. В Rails вы можете добавлять или обновлять таблицы для своего db с помощью возможности миграции (поиск Google, «Rails migrations»). После того, как вы определили, как выглядят ваши данные и что вам нужно «видеть», * затем * вы можете при желании начать добавлять модели/представления/контроллеры. – lurker

+0

Я согласен с @AlokSwain, а также ... и Rails 4 Way - еще один хороший, который можно использовать, как это практикует Rails. Обе книги очень помогают новым людям Railsy. Что касается вашей текущей проблемы, я лично хотел бы знать, как выглядит модель для RSVPing на свадьбе. Например, у вас есть модель 'Rsvp', которая' has_many' 'Guests' (если что-то вроде этого было, есть драгоценные камни и инструменты для добавления вложенных объектов в форму Rsvp)? Более конкретный и подробный ваш вопрос и вспомогательная информация - лучшие ответы, которые вы получите! –

ответ

1

Place Guest вместо пользователя

пользователи Controler

def new 
    @users = [] 
    5.times do 
    @users << User.new 
    end 
end 

if params.has_key?("user") 
    User.create(users_params(params["user"])) 
    else 
    params["users"].each do |user| 
    if user["name"] != nil || user["age"] != nil 
     User.create(users_params(user)) 
    end 
    end 
    end 

def users_params(my_params) 
    my_params.permit(:name, :age) 
end 

users_form

<%= form_tag users_path do %> 


<% @users.each do |user| %> 
<%= fields_for 'users[]', user do |u| %> 




<div class="field"> 
<%= u.label :name %><br> 
<%= u.text_field :name %> 
</div> 
<div class="field"> 
<%= u.label :age %><br> 
<%= u.number_field :age %> 
</div> 
<% end %> 
<% end %> 
<div class="actions"> 
<%= submit_tag %> 
</div> 

<% end %> 
Смежные вопросы