Forum: Ruby on Rails Get vars out of Controller

Posted by Pierre-Andre M. (pierreandre_m)
on 2013-01-20 00:44
I have a trivial question:

if i have defined something in my controller, like

def calendar
    my_time = Time.now

  end

how do I use that variable in my view?

I tried <%= my_time %>

But that simply returns an error.

Thanks
Posted by Javier Quarite (Guest)
on 2013-01-20 01:09
(Received via mailing list)
On Sat, Jan 19, 2013 at 6:44 PM, Pierre-Andre M. 
<lists@ruby-forum.com>wrote:

> I have a trivial question:
>
> if i have defined something in my controller, like
>
> def calendar
>     my_time = Time.now
>
>   end
>
>
 That variable only works on that method, you need an instance variable

def calendar
  @my_time = Time.now
end

in view calendar.html.erb

 <%= @my_time%>
Posted by Benjamin Iandavid Rodriguez (Guest)
on 2013-01-20 01:14
(Received via mailing list)
Hello Pierre

You could either use an instance variable like this:

@my_time = Time.now

Then in your view access it with:

<%= @my_view %>

Or use the decent_exposure gem which I recommend since this lets you 
access
your variables without exposing instance variables in the view context.

2013/1/19 Pierre-Andre M. <lists@ruby-forum.com>
Posted by Jordon Bedwell (Guest)
on 2013-01-20 01:22
(Received via mailing list)
On Sat, Jan 19, 2013 at 6:13 PM, Benjamin Iandavid Rodriguez
<ian.rgz@gmail.com> wrote:
> Or use the decent_exposure gem which I recommend since this lets you access
> your variables without exposing instance variables in the view context.

Because attr_accesor doesn't exist, so the entire premise isn't broken 
o.O.
/end-broken-logic
Posted by Johnneylee Rollins (Guest)
on 2013-01-20 01:32
(Received via mailing list)
helper_method :calendar
Is what you want.
Posted by Johnneylee Rollins (Guest)
on 2013-01-20 01:34
(Received via mailing list)
It's a good gem but it's a bit heavy handed since it (nicely) provides 
and,
iirc, wraps helper_method.
Posted by Pierre-Andre M. (pierreandre_m)
on 2013-01-20 02:52
Javier Quarite wrote in post #1092882:
> On Sat, Jan 19, 2013 at 6:44 PM, Pierre-Andre M.
> <lists@ruby-forum.com>wrote:
>
>> I have a trivial question:
>>
>> if i have defined something in my controller, like
>>
>> def calendar
>>     my_time = Time.now
>>
>>   end
>>
>>
>  That variable only works on that method, you need an instance variable
>
> def calendar
>   @my_time = Time.now
> end
>
> in view calendar.html.erb
>
>  <%= @my_time%>

That worked awesome thanks a bunch...also, I appreciate the follow up 
dialogue on using different methods as well...Im sure I'll appreciate 
this more once I'm more well-versed.
Posted by Colin Law (Guest)
on 2013-01-20 10:32
(Received via mailing list)
On 20 January 2013 01:52, Pierre-Andre M. <lists@ruby-forum.com> wrote:
> Javier Quarite wrote in post #1092882:
>> ...
>>  <%= @my_time%>
>
> That worked awesome thanks a bunch...also, I appreciate the follow up
> dialogue on using different methods as well...Im sure I'll appreciate
> this more once I'm more well-versed.

I suggest that you work right through a good rails tutorial such as
railstutorial.org, which is free to use online, which will show you
the basics or Rails.  Make sure that any tutorial you use is for rails
3 and that you install the correct version of rails for the tutorial.

Colin
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.