Instance variable access with different methods in one controller and view

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?

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.

This might be helpful http://ruby.11.n6.nabble.com/method-value-passing-in-rails-td4897203.html

Colin

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.

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

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?

Sorry, I have no idea what you mean.

Colin