# Query help

**URL:** <https://www.ruby-forum.com/t/query-help/159217>\
**Category:** Rails\
**Created:** [February 2, 2009, 1:58pm UTC](https://www.ruby-forum.com/t/query-help/159217 "2009-02-02T13:58:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![newb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/2acd7d/32.png) [@newb](https://www.ruby-forum.com/u/newb)\
**Post date:** [February 2, 2009, 1:58pm UTC](https://www.ruby-forum.com/t/query-help/159217/1 "2009-02-02T13:58:09Z")

</div>

Hi…  
Any ways to optimise this conditions using ternery operator

if params[:userinfo]  
if params[:userinfo][:company\_id] == nil or  
params[:userinfo][:company\_id]  
== “Select Company”  
company\_id = nil  
else  
company\_id = params[:userinfo][:company\_id]

```
end

```

if params[:userinfo][:department\_id] == nil or  
params[:userinfo][:department\_id] == “Select Department” or  
params[:userinfo][:department\_id] == “Any Department”  
department\_id = nil  
else  
department\_id = params[:userinfo][:department\_id]  
end  
if params[:userinfo][:role\_id] == nil or  
params[:userinfo][:role\_id] == “Select Role” or  
params[:userinfo][:role\_id] == “Any Role”  
role\_id = nil  
puts “here”  
else  
role\_id = params[:userinfo][:role\_id]  
puts “els”  
end  
online\_status = params[:userinfo][:online\_status]

end

---

<div class="post-metadata">

**Author:** ![newb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/2acd7d/32.png) [@newb](https://www.ruby-forum.com/u/newb)\
**Post date:** [February 2, 2009, 8:43pm UTC](https://www.ruby-forum.com/t/query-help/159217/2 "2009-02-02T20:43:29Z")

</div>

Newb N. wrote:

> Hi…  
> Any ways to optimise this conditions using ternery operator
> 
> if params[:userinfo]  
> if params[:userinfo][:company\_id] == nil or  
> params[:userinfo][:company\_id]  
> == “Select Company”

As the first of a great many minor issues with this code, you can DRY it  
by  
stashing each parameter as you ‘if’ it…

if userinfo = params[:userinfo]  
if (company\_id = userinfo[:company\_id]) == nil or  
company\_id == ‘Select Company’

…but there are also major issues. Your options should use an  
id in  
their value=’’ attributes, and the one for ‘Select Company’ should be  
nil…
