Witam, mam następujący problem: mam formę, w której wybieram ile nowych pozycji (rekordów) będę chciał dodać do bazy danych(dane kontaktowe) i na podstawie wartości z tego formularza chcę później w pętlach utworzyć inny formularz, którego poszczególne pola będą występowały tyle razy, ile podałem w poprzednim formularzu. Informacje te chciałbym przechowywać np.w arrayu. A oto pliki:
[code]views/adding/new.erb #to jest plik z tym pierwszym formularzem
Add new data
Please select, what kind of data you want to add:<%= simple_form_for :counter, :url => {:controller => "adding", :action => "create"} do |f| %>
<%= f.input :first_name, :collection => 0…10 , :prompt => “How many?” %>
<%= f.input :last_name, :collection => 0…10 , :prompt => “How many?” %>
<%= f.input :city, :collection => 0…10 , :prompt => “How many?” %>
<%= f.input :postal, :collection => 0…10 , :prompt => “How many?” %>
<%= f.input :street, :collection => 0…10 , :prompt => “How many?” %>
<%= f.input :job, :collection => 0…10 , :prompt => “How many?” %>
<%= f.input :role, :collection => 0…10 , :prompt => “How many?” %>
<%= f.button :submit, ‘next step’, :style => “margin-top: 20px;” %>
<% end %>[/code]
[code]adding_controller.rb #tutaj jest kontroler
class AddingController < ApplicationController
layout ‘application’
def new
end
def create
list[:counter] ||= []
list[:counter] << counter(params[:first_name])
redirect_to fill_path
end
end[/code]
[code]application_controller.rb #tutaj kontroler aplikacji
class ApplicationController < ActionController::Base
protect_from_forgery
private
def counter
@counter ||= counter.new(list)
end
helper_method :counter
end[/code]
models/adding.rb #a tutaj model
class Adding
def initialize(list)
@list = list
@list[:counter] ||= []
end
end
Niestety, po wybraniu odpowiedniej wartości z formularza i naciśnieciu przycisku dalej, wyskakuje mi błąd:
undefined local variable or method list' for #<AddingController:0xb7a7028>
app/controllers/adding_controller.rb:8:increate'
Proszę o pomoc. Nie do końca ogarniam czy wszystko odpowiednio zainicjalizowałem (stąd ten błąd, ale nie wiem z czego dokładnie on wynika:/ )
Jeżeli ktoś byłby chętny do pomocy werbalnej lub pokrzyczeć na mnie, to zapraszam na skype: lukasz_kups