# Relating controllers... How to?

**URL:** <https://www.ruby-forum.com/t/relating-controllers-how-to/180860>\
**Category:** Rails\
**Created:** [December 30, 2009, 3:23pm UTC](https://www.ruby-forum.com/t/relating-controllers-how-to/180860 "2009-12-30T15:23:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![RoRoRo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@RoRoRo](https://www.ruby-forum.com/u/RoRoRo)\
**Post date:** [December 30, 2009, 3:23pm UTC](https://www.ruby-forum.com/t/relating-controllers-how-to/180860/1 "2009-12-30T15:23:36Z")

</div>

Hi, anyone can help me?  
I have 2 model : Error and Error Detail

Error: Error\_name, tot\_errors  
Error Detail: Error\_name , details for error

e.g.

Error = Error\_type1 | 5  
Error Detail = 5 lines with Error\_name=Error\_type1

I want to show this:

* * *

## Error\_type1 | 5 | Show Error Detail Link

then I put in " Show Error Detail Link " a \<%= link\_to  
“Show”, :controller =\> “error\_details” ,:action =\>  
“index”, :task\_errore =\> error.type %\>  
and create method in error\_details controller as

def index(task\_errore)  
if !session[:user\_id]  
redirect\_to :controller =\> ‘user’, :action =\> ‘login’  
else

```
    @ngn_errors = NgnError.find(:all, :conditions =>[" task_errore

```

= nvl(?, task\_errore) ", task\_errore ])

```
end

```

end

But when I click on link he say me:  
ArgumentError in NgnerrorsController#index

wrong number of arguments (0 for 1)

and when I check logs

Processing NgnErrorsController#index (for 10.139.246.114 at 2009-12-30  
15:07:10) [GET]  
Parameters: {“task\_errore”=\>“Gestione Errore PCMS”}

ArgumentError (wrong number of arguments (0 for 1)):  
/usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:65:in `run’  
/usr/local/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start’  
/usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/local/lib/ruby/1.8/webrick/server.rb:95:in `start’  
/usr/local/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `start’  
/usr/local/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/local/lib/ruby/1.8/webrick/server.rb:82:in `start’

Rendered rescues/\_trace (113.5ms)  
Rendered rescues/\_request\_and\_response (2.3ms)  
Rendering rescues/layout (internal\_server\_error)

Please help me!!! what’s the matter??

–

You received this message because you are subscribed to the Google  
Groups “Ruby on Rails: Talk” group.  
To post to this group, send email to removed\_email\_address@domain.invalid.  
To unsubscribe from this group, send email to  
removed\_email\_address@domain.invalid.  
For more options, visit this group at  
[http://groups.google.com/group/rubyonrails-talk?hl=en](http://groups.google.com/group/rubyonrails-talk?hl=en).

---

<div class="post-metadata">

**Author:** ![RoRoRo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@RoRoRo](https://www.ruby-forum.com/u/RoRoRo)\
**Post date:** [December 30, 2009, 6:00pm UTC](https://www.ruby-forum.com/t/relating-controllers-how-to/180860/2 "2009-12-30T18:00:07Z")

</div>

Ro wrote:

> then I put in " Show Error Detail Link " a \<%= link\_to  
> “Show”, :controller =\> “error\_details” ,:action =\>  
> “index”, :task\_errore =\> error.type %\>  
> and create method in error\_details controller as
> 
> def index(task\_errore)  
> if !session[:user\_id]  
> redirect\_to :controller =\> ‘user’, :action =\> ‘login’  
> else
> 
> ```
> @ngn_errors = NgnError.find(:all, :conditions =>[" task_errore
> 
> ```
> 
> = nvl(?, task\_errore) ", task\_errore ])
> 
> ```
> end
> 
> ```
> 
> end
> 
> But when I click on link he say me:  
> ArgumentError in NgnerrorsController#index
> 
> wrong number of arguments (0 for 1)

Controller actions don’t take arguments. You need to pass :task\_errore  
in the params hash (params[:task\_errore]).

def index  
task\_errore = params[:task\_errore]  
…  
end

Or something to that effect.

---

<div class="post-metadata">

**Author:** ![RoRoRo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@RoRoRo](https://www.ruby-forum.com/u/RoRoRo)\
**Post date:** [January 4, 2010, 3:37pm UTC](https://www.ruby-forum.com/t/relating-controllers-how-to/180860/3 "2010-01-04T15:37:50Z")

</div>

Thank you! this works!!!

Happy new year!

On Dec 30 2009, 6:00 pm, Robert W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Posted viahttp://www.ruby-forum.com/.  
> –

You received this message because you are subscribed to the Google  
Groups “Ruby on Rails: Talk” group.  
To post to this group, send email to removed\_email\_address@domain.invalid.  
To unsubscribe from this group, send email to  
removed\_email\_address@domain.invalid.  
For more options, visit this group at  
[http://groups.google.com/group/rubyonrails-talk?hl=en](http://groups.google.com/group/rubyonrails-talk?hl=en).
