Instance variable access with different methods in one controller and view

18 views
Skip to first unread message

amvis

unread,
May 16, 2012, 2:13:22 AM5/16/12
to rubyonra...@googlegroups.com
i have one view onepage.html.erb, also have one controller onepages

class onepages_controller

  def show
     @name = "name1"
     render 'onepages/onepage'
  end

  def onepage
   
  // have to access show method variables
  end
end

When i click on the onepage.html.erb. that have one button when i click on that button the show method will execute, after that i have to get that variables into onepage..How to get that variable? 




azizmb.in

unread,
May 16, 2012, 2:21:14 AM5/16/12
to rubyonra...@googlegroups.com
Instance variables in Rails controllers are only shared for a request - response cycle. Ie, you cannot access variables set in the show action from the onepage action. You will need to reinitialise them. If you want to keep things DRY, put it in a before filter.

eg:

class onepages_controller
  before_filter :filter_name

  def show
    render 'onepages/onepage'
  end

  def onepage
   
  // have to access show method variables
  end

  protected
 
  def filter_name
    @name = "name1"
  end

end

You will now have @name in both show and onepage.






--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/3yM5OI2Ykf4J.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.



--
- Aziz M. Bookwala

Colin Law

unread,
May 16, 2012, 2:29:37 AM5/16/12
to rubyonra...@googlegroups.com

amvis

unread,
May 16, 2012, 2:56:01 AM5/16/12
to rubyonra...@googlegroups.com
       Thanks, But here now am facing another problem
 class onepages_controller
  before_filter :show

  def onepage
   
  // have to access show method variables
  end

  protected
  
  def show
   // here  read the value from user via textfield
    render 'onepages/onepage'
  end 

end

 In my code, when i click on the onepage.html.erb, that have one textfield and button, where i have to read one value from user. so if i given like the above code, first check the before_filter,the show function will execute, but the show function doesn't getting the textfield value, Page will give error. Have any way to do that?










 
When i click on the onepage.html.erb. that have one button when i click on that button the show method will execute, after that i have to get that variables into onepage..How to get that variable? 




--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/3yM5OI2Ykf4J.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

Colin Law

unread,
May 16, 2012, 4:00:34 AM5/16/12
to rubyonra...@googlegroups.com
Sorry, I have no idea what you mean.

Colin
Reply all
Reply to author
Forward
0 new messages