I haven't see this sort of if/then in ruby before, is it very standard.

i think for readability this could be: 
```ruby
  if model == Discussion
    instance = model.published.find_by_key! params[:id]
  else
    instance = model.find(params[:id])
  end