Shared code for controllers


#1

Hi,

I think that this is made from a plugin or something in /lib/, but i
really
don’t know which is the better way:

I have this in my MediasController:

def mediatype_medias_options
if params[:id]
begin
@mediatype = MediaType.find(params[:id])
render :inline => “<%= options_from_collection_for_select @
mediatype.medias, ‘id’, ‘name’ %>”
rescue Exception
render :nothing => true
end
else
render :nothing => true
end
end

I use it from a form, that sends a mediatype id, and this renders

for a select (it’s something like a hier. select).
Since i must use this kind of thing into some controllers, i wish to
follow
the DRY principle, but don’t know how.
Could you please give me some advice?

Thanks.


#2

Put the code in:

app/controllers/application.rb

and it will be available to all controllers.


– Tom M.


#3

I’d just create a helper module in the controllers directory and then
require/include it in the controllers you need the method in.