Hi ,
I need to acheive the result to be as
result = [{"first"=>1, "second"=>2}, {"first"=>2, "second"=>3},
{"first"=>3, "second"=>4}, {"first"=>4, "second"=>5}]
since this hash is the PDF::SimpleTable.data format
the table data accepts the hash values with the keys as columns and
the values as the table rows
In this case i have to create the report from the database records I
have the Array of employee objects with the fields
I need to put them in table format so that first I have to make the
column names as the table column headings and then need to form a row
of values
For example my 'employees' contains the employee object
then, each object has to become one value in the hash
data = Hash.new
result = Hash.new
for employees.each do |record|
data = {"Sno" =>
record.sno, Here
i have one record
"UserName" => record.username,
"designation" => record.designation,
"salary" => record.salary }
result = data,result
end
I want result should be in the following format
result = [{"Sno" => 1,"UserName" => "ppp","designation" =>
"se","salary" => 10000},{"Sno" => 2,"UserName" => "xxx","designation"
=> "se","salary" => 10000},{"Sno" => 3,"UserName" =>
"yyy","designation" => "se","salary" => 10000},{"Sno" => 4,"UserName"
=> "zzz","designation" => "se","salary" => 10000}]
then I could replace the table data
table.data.replace result
table.render_on(pdf)
But I am not getting the required format? How to achieve that?
On Nov 25, 3:30 pm, napster <[EMAIL PROTECTED]> wrote:
> Hema, to be honest, I'm not really sure what exactly you want to
> achieve, but maybe you can try this:
>
> result = Array.new
>
> for k in 1..4 do
> result << {"first" => k , "second"=> k + 1}
> end
>
> The result is:
>
> [{"second"=>2, "first"=>1}, {"second"=>3, "first"=>2}, {"second"=>4,
> "first"=>3}, {"second"=>5, "first"=>4}]
>
> As far as I know there is no easy way to sort the elements of the
> inner hashes, but that shouldn't raise any problem.
>
> Let me know it this works for you.
>
> On Nov 24, 9:49 pm, Hema <[EMAIL PROTECTED]> wrote:
>
> > Hi All,
> > I need to add the hashes is there any way to add
>
> > actually my data is in the given format
> > data = [ {"first" => 1 ,"second" => 2},
> > {"first" => 2 ,"second" => 3},
> > {"first" => 3 ,"second" => 4} ]
>
> > I want to acheive it through the loop So, I took 2 hashes as
>
> > result = Hash.new
> > data = Hash.new
>
> > for k in 1..4 do
> > data = {"first"=>k , "second"=>k+1}
> > result = result,data
> > end
>
> > in the above the result variable
>
> > result = [[[[{}, [{"first"=>1, "second"=>2}]], [{"first"=>2,
> > "second"=>3}]], [{"first"=>3, "second"=>4}]], [{"first"=>4,
> > "second"=>5}]]
>
> > But my Output should be as
> > result = [{"first"=>1, "second"=>2}, {"first"=>2, "second"=>3},
> > {"first"=>3, "second"=>4}, {"first"=>4, "second"=>5}]
>
> > I tried with the merge,update but those are updating or the changing
> > the existing the feilds.. the not appending
>
> > How can I achieve the output if any help you can save my day...
> > Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---