Я не могу комментировать, иначе я бы добавил это к ответу выше.
Чтобы получить параметр-> значение «новый», «или создать новый» .. вместо
f.select(:category_id, @categories.collect {|p| [ p.name, p.id ] } + ['Or create a new one','new'], {:include_blank => 'Please select a category'})
сделать
f.select(:category_id, @categories.collect {|p| [ p.name, p.id ] } + [['Or create a new one','new']], {:include_blank => 'Please select a category'})
обратите внимание на дополнительные [] вокруг параметров. Это заставляет массив работать как опция, пара значений