Forum: Ruby on Rails Formatting issue

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
57ba42762c8d83fd5dc4ae76ec79ac8f?d=identicon&s=25 John Victor (victors)
on 2008-12-01 00:36
I have a text file that has data in it which is perfectly formatted the
way I want it.
I have the following code in my controller to open the file and read
each line into an array which I then call from my view. The problem is,
I completely loose the formatting the way I'm doing it:

- from my controller:
<code>
def index
        @ssh = Array.new
        a = File.open("/usr/bin/my_data.dat")
        a.each do |line|
           @my_data.push(line)
        end
end
</code>

-from my view:
<code>
<%= @my_data %>
</code>

I'm thinking that maybe I shouldn't put the data in an array or maybe I
should somehow loop through the array in my view in order to maintain
the formatting of the text file?

thanks
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-12-01 01:07
(Received via mailing list)
On Nov 30, 11:36 pm, John Victor <rails-mailing-l...@andreas-s.net>
wrote:
> I have a text file that has data in it which is perfectly formatted the
> way I want it.
> I have the following code in my controller to open the file and read
> each line into an array which I then call from my view. The problem is,
> I completely loose the formatting the way I'm doing it:

<%= ... %> basically just calls to_s on whatever the expression in
there evaluates to, and to_s on an Array is just the concatenation of
to_s called on everything in it. If you just want to display data from
the file, why not use @my_data = File.read(...) ?

Fred
57ba42762c8d83fd5dc4ae76ec79ac8f?d=identicon&s=25 John Victor (victors)
on 2008-12-01 03:03
Here is the data, if you put it in a file and then tell Rails to read
it, please see if you can get it to display in the exact same format in
Rails. When I do it, all my columns don't line up:


Mod Ports Card Type                              Model
Serial No.
--- ----- -------------------------------------- ------------------
-----------
  1   48  48 port 10/100 mb RJ-45 ethernet       WS-X6248-RJ-45
SAD041509MC
  2   48  48 port 10/100 mb RJ-45 ethernet       WS-X6248-RJ-45
SAD041206F6
  3   16  16 port 1000mb MTRJ ethernet           WS-X6416-GE-MT
SAD04220ML4
  4   48  48 port 10/100 mb RJ-45 ethernet       WS-X6248-RJ-45
SAD03465383
  5    2  Supervisor Engine 720 (Active)         WS-SUP720-3B
SAL092750VP
  6    2  Supervisor Engine 720 (Warm)           WS-SUP720-3B
SAL09285BW6
  7   48  48 port 10/100 mb RJ-45 ethernet       WS-X6248-RJ-45
SAD041509MY
  8   48  CEF720 48 port 10/100/1000mb Ethernet  WS-X6748-GE-TX
SAL09285L96
  9    6  Firewall Module                        WS-SVC-FWM-1
SAD084305Y3

Mod MAC addresses                       Hw    Fw           Sw
Status
--- ---------------------------------- ------ ------------ ------------
-------
  1  0001.970a.dab0 to 0001.970a.dadf   1.2   5.1(1)CSX    8.5(0.46)ROC
Ok
  2  00b0.c2f1.f21c to 00b0.c2f1.f24b   1.2   5.1(1)CSX    8.5(0.46)ROC
Ok
  3  00d0.c0ce.f854 to 00d0.c0ce.f863   1.0   5.3(1)       8.5(0.46)ROC
Ok
  4  0030.9615.2414 to 0030.9615.2443   1.1   4.2(0.24)VAI 8.5(0.46)ROC
Ok
  5  0012.dae4.7a28 to 0012.dae4.7a2b   4.4   8.1(3)       12.2(18)SXE3
Ok
  6  0012.dae4.7f80 to 0012.dae4.7f83   4.4   8.1(3)       12.2(18)SXE3
Ok
  7  0001.974a.0a30 to 0001.974a.0a5f   1.2   5.1(1)CSX    8.5(0.46)ROC
Ok
  8  0014.f27e.b460 to 0014.f27e.b48f   2.2   12.2(14r)S5  12.2(18)SXE3
Ok
  9  0003.3234.bb36 to 0003.3234.bb3d   3.0   7.2(1)       2.3(1)
Ok

Mod Sub-Module                  Model              Serial        Hw
Status
--- --------------------------- ------------------ ------------ -------
-------
  5 Policy Feature Card 3       WS-F6K-PFC3B       SAL09253YMB   2.1
Ok
  5 MSFC3 Daughterboard         WS-SUP720          SAL0926479K   2.3
Ok
  6 Policy Feature Card 3       WS-F6K-PFC3B       SAL09274WMF   2.1
Ok
  6 MSFC3 Daughterboard         WS-SUP720          SAL09169JJE   2.3
Ok
  8 Centralized Forwarding Card WS-F6700-CFC       SAL09316RQD   2.0
Ok

Mod Online Diag Status
--- -------------------
  1 Pass
  2 Pass
  3 Pass
  4 Pass
  5 Pass
  6 Pass
  7 Pass
  8 Pass
  9 Pass

thanks for the help,

vic
Bee69cfed999cd13e3bff73d472a39ee?d=identicon&s=25 Hassan Schroeder (Guest)
on 2008-12-01 05:27
(Received via mailing list)
On Sun, Nov 30, 2008 at 6:03 PM, John Victor
<rails-mailing-list@andreas-s.net> wrote:
>
> Here is the data, if you put it in a file and then tell Rails to read
> it, please see if you can get it to display in the exact same format in
> Rails. When I do it, all my columns don't line up:

They don't line up in this email, either :-)

Are you trying to display this in PRE tags or equivalent CSS with a
monospace font?

Your display would probably be more robust if you parsed the file
contents and put it in an actual HTML table, though.

FWIW,
--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
57ba42762c8d83fd5dc4ae76ec79ac8f?d=identicon&s=25 John Victor (victors)
on 2008-12-01 12:44
Hassan Schroeder wrote:

> They don't line up in this email, either :-)
...hehe....I know, I'm sorry that wasn't much of a help :-)

> Are you trying to display this in PRE tags or equivalent CSS with a
> monospace font?

..good call on this one though, I added PRE tags on my index.rhtml and
the data is looking the way I want it...which is great news.

I am still a bit baffled as to why I have to write the data to a file
first, then open the file and put it in PRE tags as opposed to using
PUTS statements in my original script and assigning that to a variable
which gets called by my index page which still causes the format to be
skewed.
---
my_data.rb code:
data.each do |line|
   a.write(line) #--this writes to my_data.dat
   puts line     #--this puts the same data to STDOUT
end
---
controller code:
def index
   @my_data = `/usr/bin/my_data.rb`   #this causes data to be skewed
   #@my_data = File.open("/usr/bin/my_data.dat").read #this works
end
---
index.rthml code:
<pre><%= simple_format @my_data %></pre>

Perhaps the way I'm writing to STDOUT in my_data.rb is causing the
skewing of my data?

thanks

vic
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-12-01 13:14
(Received via mailing list)
On 1 Dec 2008, at 11:44, John Victor wrote:

>   @my_data = `/usr/bin/my_data.rb`   #this causes data to be skewed
>   #@my_data = File.open("/usr/bin/my_data.dat").read #this works
> end
> ---
> index.rthml code:
> <pre><%= simple_format @my_data %></pre>
>

puts always appends a carriage return whereas write doesn't. if you
changed it to STDOUT.write(line) it should be the same

Fred
57ba42762c8d83fd5dc4ae76ec79ac8f?d=identicon&s=25 John Victor (victors)
on 2008-12-02 00:01
STDOUT.write(line) fixed the problem....thanks again for the help!



Frederick Cheung wrote:
> On 1 Dec 2008, at 11:44, John Victor wrote:
>
>>   @my_data = `/usr/bin/my_data.rb`   #this causes data to be skewed
>>   #@my_data = File.open("/usr/bin/my_data.dat").read #this works
>> end
>> ---
>> index.rthml code:
>> <pre><%= simple_format @my_data %></pre>
>>
>
> puts always appends a carriage return whereas write doesn't. if you
> changed it to STDOUT.write(line) it should be the same
>
> Fred
This topic is locked and can not be replied to.