[LRUG] [Help request] Programmatically inserting user data into js chart
Jesse Waites
jesse.waites at gmail.com
Wed Jun 8 06:32:37 PDT 2016
Hi everyone,
I spun up a new Rails app to experiment with the D3 charting library and
hit a minor snag. I've never done anything like the before so I want to
make sure I do it the "best" way possible and not some hacky way, which I
could certainly come up with, ha.
Here's the situation:
I have a new Rails app with 1 model, view, and controller called "Favorites"
A user would add favorite colors, favorite movie, and favorite numbers, in
3 different form fields, each as a string.
In the controller, I remap the numbers string into a proper array with
integers.
@data = @favorite.numbers.split(",").map { |s| s.to_i }
At this point, lets say @data is now an array of [5,4,3,2,1] - We know the
length of this array and the contents.
On the show page, in the view, I have a variable called dataset that the
hardcoded
D3 chart is working off of. Here is a jsfiddle of the exact chart I am
trying to get to work with user data.
http://jsfiddle.net/enigmarm/3HL4a/13/
var dataset = [
{ key: 0, value: 5 },
{ key: 1, value: 10 },
{ key: 2, value: 13 },
{ key: 3, value: 19 },
{ key: 4, value: 21 },
{ key: 5, value: 25 },
{ key: 6, value: 22 },
{ key: 7, value: 18 },
{ key: 8, value: 15 },
{ key: 9, value: 13 },
{ key: 10, value: 11 },
{ key: 11, value: 12 },
{ key: 12, value: 15 },
{ key: 13, value: 20 },
{ key: 14, value: 18 },
{ key: 15, value: 17 },
{ key: 16, value: 16 },
{ key: 17, value: 18 },
{ key: 18, value: 23 },
{ key: 19, value: 25 } ];
So I need to iterate over my array, put the index into the "key" position,
and put the value into the "value" section. If the array had 2 elements, I
need to do it twice. 5 elements, 5 times.
I wrote a stupid method called "make jsonish" that isnt working:
def make_jsonish(array)
array.each_with_index do |num, i|
puts "{ key: #{i}, value: #{num}},"
end
end
I don't think the "puts" thing will work anyway. I'm a bit stumped as to
how to best do this so I would appreciate any help.
Here is a gist of the view:
https://gist.github.com/piratebroadcast/19b2ca6617343d8812d2a40325f76bc7
Controller gist:
https://gist.github.com/piratebroadcast/ce802346d75e667fface711f8dfc17e0
Anyone have any suggestions as to how I should move forward with this?
Seems like a simple thing but I can't quite sort it out by myself.
Thank you!!!
--
Jesse Waites
JesseWaites.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20160608/03190995/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2016-06-07 at 11.05.41 AM.png
Type: image/png
Size: 213554 bytes
Desc: not available
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20160608/03190995/attachment.png>
More information about the Chat
mailing list