can link_to pass object to the action?

any help on this pls?

-DP

Yes you can, but not sure what the @obj is that you are referring to. If it is a model, then the id will suffice for the object to be looked up again at the server. If it is other data then you will need to send a reference to the report so it can be regenerated at the server, or you can send the individual fields of an object. Like posting a form, they will appear in params

Tonypm

tonypm wrote:

Yes you can, but not sure what the @obj is that you are referring to. If it is a model, then the id will suffice for the object to be looked up again at the server. If it is other data then you will need to send a reference to the report so it can be regenerated at the server, or you can send the individual fields of an object. Like posting a form, they will appear in params

Tonypm

thanks for reply Tonypm. basically, @report holds the complete report data. like name,addr etc etc came from an xml response. on clicking the csv link, i needed to pass this same @report object to csv function so that i could access the data thr and could generate the csv. still working on that though :). right now wt i did is regenerated the report in the csv function and generated csv for the same. its working but giving following usual error for few fields. "NoMethodError in Order reportsController#xls You have a nil object when you didn't expect it! The error occurred while evaluating nil.text"

and yes, thanks for the info again :slight_smile:

-Dhaval

still couldn't figured this out. can anybody tell me the correct way to do this, please? i need to pass/access an object from one method to another in the same controller.

Report controller:- def report_type    @report = @report holds xml response    code... end

def get_csv    need @report from above method to generate csv    code... end

report_type.rhtml contains a link as - <%= link_to 'Export to CSV',:action=>'get_csv',@report %>

i tried sending @report, :object=>@report, :id=>@report but nothing worked.

thanks in adv

-DP

If report is only a small amount of data (i suspect not) then you could break it into query params (ie :title => @report.title etc...) If not then you'll need to persist the report object in some fashion (eg the database) so that you can retrieve it when the get_csv request comes in.

Fred

thanks for the reply Fred.

If report is only a small amount of data (i suspect not) then you could break it into query params (ie :title => @report.title etc...)

yes, you are right, report data is not a small one :slight_smile: and as i said,@report holds xml response(i post a request to a server and receive a response), so will i be able to generate csv values in the loop, with :title=>@report.title etc...? i suppose it will pass only one title value, correct me if i'm wrong.

If not then you'll need to persist the report object in some fashion (eg the database) so that you can retrieve it when the get_csv request comes in.

do you have any idea about how it can be done? can we use session variable for this? i.e. in report_type method, session[:rep]= @report or something like that?

-DP