# How to inject a value in params when testing a helper method

**URL:** <https://www.ruby-forum.com/t/how-to-inject-a-value-in-params-when-testing-a-helper-method/192720>\
**Category:** Rails\
**Created:** [August 4, 2010, 1:55pm UTC](https://www.ruby-forum.com/t/how-to-inject-a-value-in-params-when-testing-a-helper-method/192720 "2010-08-04T13:55:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![arigo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c57346/32.png) [@arigo](https://www.ruby-forum.com/u/arigo)\
**Post date:** [August 4, 2010, 1:55pm UTC](https://www.ruby-forum.com/t/how-to-inject-a-value-in-params-when-testing-a-helper-method/192720/1 "2010-08-04T13:55:50Z")

</div>

I what to try this method in a helper class:

def moderator\_buttons?  
return true if params[:question\_status] == ‘HOST\_INBOX’  
return true if params[:question\_status] == ‘HOST\_INBOX\_READ’  
return true if params[:question\_status] == ‘DELETED’  
return true if params[:question\_status] == ‘LATER’  
return true if params[:question\_status] == ‘MODERATOR\_TO\_APPROVE’

```
false

```

end

How can I assign ‘HOST\_INBOX’ string to params[:question\_status]  
before

assert true, moderator\_buttons?

---

<div class="post-metadata">

**Author:** ![arigo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c57346/32.png) [@arigo](https://www.ruby-forum.com/u/arigo)\
**Post date:** [August 4, 2010, 5:09pm UTC](https://www.ruby-forum.com/t/how-to-inject-a-value-in-params-when-testing-a-helper-method/192720/2 "2010-08-04T17:09:20Z")

</div>

Riccardo T. wrote:

> I what to try this method in a helper class:
> 
> def moderator\_buttons?  
> return true if params[:question\_status] == ‘HOST\_INBOX’  
> return true if params[:question\_status] == ‘HOST\_INBOX\_READ’  
> return true if params[:question\_status] == ‘DELETED’  
> return true if params[:question\_status] == ‘LATER’  
> return true if params[:question\_status] == ‘MODERATOR\_TO\_APPROVE’
> 
> ```
> false
> 
> ```
> 
> end

No you don’t. Your helpers don’t have access to params, since they live  
in the view layer. You’ll need to pass params[:question\_status] in as  
an @instance variable.

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![arigo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c57346/32.png) [@arigo](https://www.ruby-forum.com/u/arigo)\
**Post date:** [August 4, 2010, 5:28pm UTC](https://www.ruby-forum.com/t/how-to-inject-a-value-in-params-when-testing-a-helper-method/192720/3 "2010-08-04T17:28:58Z")

</div>

On Aug 4, 4:09 pm, Marnen Laibow-Koser [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> No you don’t. Your helpers don’t have access to params, since they live  
> in the view layer. You’ll need to pass params[:question\_status] in as  
> an @instance variable.

They do - ActionView::Base delegates the params method (among others)  
to the controller

Fred

---

<div class="post-metadata">

**Author:** ![arigo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c57346/32.png) [@arigo](https://www.ruby-forum.com/u/arigo)\
**Post date:** [August 4, 2010, 6:07pm UTC](https://www.ruby-forum.com/t/how-to-inject-a-value-in-params-when-testing-a-helper-method/192720/4 "2010-08-04T18:07:27Z")

</div>

Frederick C. wrote:

> On Aug 4, 4:09ï¿½pm, Marnen Laibow-Koser [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > No you don’t. ï¿½Your helpers don’t have access to params, since they live  
> > in the view layer. ï¿½You’ll need to pass params[:question\_status] in as  
> > an @instance variable.
> 
> They do - ActionView::Base delegates the params method (among others)  
> to the controller

OK, then I’m sorry for the error. I still can’t see why it’s ever a  
good idea to touch the params array in the view…

…though I suppose you could make the argument that the controller  
shouldn’t have to know it needs to set @question\_status.

> Fred

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid
