<li>
<input type="text" value="...">
<input type="text" value="...">
<input type="checkbox" checked="checked" value="...">
</li>
Then, after the submit I need to access to the the values in this way:
params[:items].each do |i|
logger.debug("--> #{i[:desc]} ");
logger.debug("--> #{i[:value]} ");
logger.debug("--> #{i[:flag]} ");
end
So, I think the proper way is to add te "name" field in this way:
<input type="text" name="items[0][desc]"nvalue="...">
But there is something wrong.
Does someone can help me?
--
Posted via http://www.ruby-forum.com/.
But there is something wrong.
Does someone can help me?
Also check out the html itself to make sure it looks as you expect
(View > Page Source or similar in your browser) and look in the Rails
log (log/development.log) to see what params are actually passed.
Colin
Parameters: {"items"=>{"0"=>{"flag"=>"true", "desc"=>"Description",
"value"=>"2"}}, "commit"=>"Create ...
If I try to get the parameters inside the items in this way:
params[:items].each do |i|
logger.debug("--> #{i[:desc]} "); <- row 80
logger.debug("--> #{i[:value]} ");
logger.debug("--> #{i[:flag]} ");
end
I get this error
TypeError (Symbol as array index):
app/controllers/pay_checks_controller.rb:80:in `[]'
app/controllers/pay_checks_controller.rb:80:in `create'
app/controllers/pay_checks_controller.rb:79:in `each'
app/controllers/pay_checks_controller.rb:79:in `create'
But... I can acces with a direct indexing as:
items[0] I get "0"
and items[1] I get flagtruedescDescriptionvalue2
params[:items].each do |key, value|
logger.debug("--> #{value[:desc]} ");
end
Thanks to all.