Can anybody please explain to me, what kind of methods, except
before_filters, are appropriate for ApplicationController, and why not
to put them into some helper?
I have read an interesting blog post about helpers
where it is explained that the ApplicationHelper is not a good place to
keep the code, but what about ApplicationController?
It’s not a hard-and-fast rule, but I’ve always heard that anything
that generates HTML belongs in a helper, and anything that marshalls
model instances belongs in a controller.
Thanks, but what about, say rendering xml with a template?
Or, a better question, is there an example of a method that should go
into ApplicationController and not into a specific controller or a
helper?
Thanks, but what about, say rendering xml with a template?
Controller, in a respond_to block.
What if this is a big repeating block of code?
I am not sure what you mean here. Are you talking about a template
actually being in your controller? Can you show an example (maybe cut
down) to show what you mean by a big repeating block?
Is ApplicationController a good place for anything other than
before_filter’s?
Looking at a couple projects I have open, mine are largely empty, with
a single method rescue_from_CanCan::AccessDenied and in one a method
called current_practice_id that just looks up the Devise current_user
and extracts that user’s practice id. Not much else going on here in
that file. I’m sure there are other great reasons to use it.
I am not sure what you mean here. Are you talking about a template
actually being in your controller? Can you show an example (maybe cut
down) to show what you mean by a big repeating block?
def render_ms_excel_2003_xml_for_download(scoped_collection,
attributes,
column_headers,
filename=nil)
klass = scoped_collection.klass
if klass.superclass == AbstractSmarterModel
column_types = klass.attribute_db_types
else
column_types = {}
attributes.each do |attr|
column_types[attr] = klass.columns_hash[attr.to_s].type
end
end
filename ||= "#{klass.model_name.human.pluralize}"\
" #{Time.now.in_time_zone.strftime('%Y-%m-%d
I use render together with send_data here only because i’ve found no
way to specify the default file name with render.
Is ApplicationController a good place for anything other than
before_filter’s?
Looking at a couple projects I have open, mine are largely empty, with
a single method rescue_from_CanCan::AccessDenied and in one a method
called current_practice_id that just looks up the Devise current_user
and extracts that user’s practice id. Not much else going on here in
that file. I’m sure there are other great reasons to use it.
Thanks for an opinion.
Alexey.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.