<h1>Mystuff#index</h1>
<p><%mystuff.each do |mr|%></p>
<h1>mr.m1</h1>
<% end %>
if you want to display the result of a ruby expression (eg one of your
attributes) then you need to use <%= ... %> (don't forget to use h to
escape nasties (if appropriate))
Fred
Mark Preston wrote:
Frederick Cheung wrote:
<h1>Mystuff#index</h1>
<p><%mystuff.each do |mr|%></p>
<h1>mr.m1</h1>
<% end %>
if you want to display the result of a ruby expression (eg one of your
attributes) then you need to use <%= ... %> (don't forget to use h to
escape nasties (if appropriate))
Fred
When I run the webrick server I get the following error message:
Showing app/views/mystuff/index.html.erb where line #2 raised:
undefined local variable or method `mystuff' for #<ActionView::Base:0x388b348>
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%mystuff.each do |mr|%></p>
3: <h1>=mr.m1</h1>
4: <% end %>
HELP
Ok, in the controller you are assigning @me to your find. Try:
<% @my.each do |mr| %>
in your view instead.
Also, don't forget to enclose that attribute in tags:
<h1><%= mr.m1 %></h1>
HTH
Matt
11175
(-- --)
July 12, 2009, 11:38pm
3
Matt Harrison wrote:
Mark Preston wrote:
escape nasties (if appropriate))
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%mystuff.each do |mr|%></p>
3: <h1>=mr.m1</h1>
4: <% end %>
HELP
Ok, in the controller you are assigning @me to your find. Try:
<% @my.each do |mr| %>
in your view instead.
Also, don't forget to enclose that attribute in tags:
<h1><%= mr.m1 %></h1>
HTH
Matt
Thanks for the reply!
I modified the controller to look like this:
require 'Mystuff'
class MystuffController < ApplicationController
def read
@my = Mystuff.find( :all)
end
end
and the view to look like this:
<h1>Mystuff#index</h1>
<p><%me.each do |mr|%></p>
<h1><=%mr.m1%></h1>
<% end %>
and am getting the following error:
undefined local variable or method `me' for
#<ActionView::Base:0x381bb24>
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%me.each do |mr|%></p>
3: <h1><=%mr.m1%></h1>
4: <% end %>
Thanks for the continued help !!!!
@my = Mystuff\.find\( :all\)
This
<h1>Mystuff#index</h1>
<p><%me.each do |mr|%></p>
and this need to match - the instance variables are copied over for
you.
Fred
11175
(-- --)
July 12, 2009, 11:42pm
5
Mark Preston wrote:
Matt Harrison wrote:
Mark Preston wrote:
escape nasties (if appropriate))
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%mystuff.each do |mr|%></p>
3: <h1>=mr.m1</h1>
4: <% end %>
HELP
Ok, in the controller you are assigning @me to your find. Try:
<% @my.each do |mr| %>
in your view instead.
Also, don't forget to enclose that attribute in tags:
<h1><%= mr.m1 %></h1>
HTH
Matt
Thanks for the reply!
I modified the controller to look like this:
require 'Mystuff'
class MystuffController < ApplicationController
def read
@my = Mystuff.find( :all)
end
end
and the view to look like this:
<h1>Mystuff#index</h1>
<p><%me.each do |mr|%></p>
<h1><=%mr.m1%></h1>
<% end %>
and am getting the following error:
undefined local variable or method `me' for
#<ActionView::Base:0x381bb24>
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%me.each do |mr|%></p>
3: <h1><=%mr.m1%></h1>
4: <% end %>
Thanks for the continued help !!!!
ok, cleaned up some of my silly errors view looks like this now:
<h1>Mystuff#index</h1>
<p><%my.each do |mr|%></p>
<h1><%=mr.m1%></h1>
<% end %>
but still getting the error:
undefined local variable or method `my' for
#<ActionView::Base:0x381bb24>
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%my.each do |mr|%></p>
3: <h1><%=mr.m1%></h1>
4: <% end %>
11175
(-- --)
July 12, 2009, 11:46pm
6
Frederick Cheung wrote:
� � � �@my = �Mystuff.find( :all)
This
<h1>Mystuff#index</h1>
<p><%me.each do |mr|%></p>
and this need to match - the instance variables are copied over for
you.
Fred
Fred thanks, I saw that and changed it, but still am getting the error:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Extracted source (around line #2 ):
1: <h1>Mystuff#index</h1>
2: <p><%@my.each do |mr|%></p>
3: <h1><%=mr.m1%></h1>
4: <% end %>
and I checked the DB, there is definately data in m1
DB
I got it to work by changing my method in the mystuff_controller to look
like this:
require 'Mystuff'
class MystuffController < ApplicationController
def index
@my = Mystuff\.find\( :all\)
end
end
The only change was to change the name of the method to "index" Seems
odd
Seems like you were hitting the index action (ie going to /mystuff )
so your read method was never getting called.
Fred