Forum: Ruby on Rails Accessing non-instance variables in view

Bf365c70294cd24f0f01db8de7aaff08?d=identicon&s=25 Praveen BK (praveenbk)
on 2012-12-17 09:59
Hi, I to want pass a variable(which is not a instance variable) from
controller to view in rails application, onclick I am going to
controller and fetching data with ajax. Since the page is not reloaded I
cant set the variable in cookies. So is there any way to pass a
variable(which is not an instance variable) from controler to view?
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2012-12-17 11:04
(Received via mailing list)
On 17 December 2012 08:59, Praveen BK <lists@ruby-forum.com> wrote:
> Hi, I want pass a variable(which is not a instance variable) from
> controller to view in rails application, onclick I am going to
> controller and fetching data with ajax. Since the page is not reloaded I
> cant set the variable in cookies. So is there any way to pass a
> variable(which is not an instance variable) from controler to view?

If I understand your question correctly then just define an @variable
to store it so
@my_variable = something

then in the view use @my_variable.

Colin
Bf365c70294cd24f0f01db8de7aaff08?d=identicon&s=25 Praveen BK (praveenbk)
on 2012-12-18 06:10
Adding @ to a variable doesn make the variable instance variable, its
convention that are followed while writing a ruby program, I think...

Here I have a variable x = 10, in my controller how can i access it in
view without using cookies.
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2012-12-18 09:00
(Received via mailing list)
On 18 December 2012 05:10, Praveen BK <lists@ruby-forum.com> wrote:
> Adding @ to a variable doesn make the variable instance variable, its
> convention that are followed while writing a ruby program, I think...
>
> Here I have a variable x = 10, in my controller how can i access it in
> view without using cookies.

Don't call it x, call it @x then you can access it.  Why do you not
want to do that?

Colin
Bf365c70294cd24f0f01db8de7aaff08?d=identicon&s=25 Praveen BK (praveenbk)
on 2012-12-18 11:19
Ya, thank you,adding @ to variable made it available in the view.

here, I m making HTTP request using ajax, which goes to my controller
and executes a method, Now I m getting return value in view. But I have
to display it in popup menu. the code for the pop up is

$.colorbox({html:"<%= @x  %>",  width:"35%",height:"400px"});

But this value of @x is not displayed in pop up.
2294c7a7b74435b491d366cd670a4daa?d=identicon&s=25 snappa (Guest)
on 2012-12-19 10:34
(Received via mailing list)
"$.colorbox({html:"<%= @x  %>",  width:"35%",height:"400px"}); "

Assuming that the line of jquery code is executed client side and
operates on the HTML returned from the Ajax request you will not have
access to the instance variable.  It will have been rendered in the
returned HTML on the server. You will either need to parse the value out
of the HTML or just return json and access it.
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.