Move code into helper
24 Jul 2010
Bad Smell
<%= select_tag :state, options_for_select( [[t(:draft), "draft"],
                                            [t(:published), "published"]],
                                           params[:default_state] ) %>
The options for state select is a bit complex in view, let's move it into helper.
Refactor
<%= select_tag :state, options_for_post_state(params[:default_state]) %>
# app/helpers/posts_helper.rb
def options_for_post_state(default_state)
  options_for_select( [[t(:draft), "draft"], [t(:published), "published"]],
                      default_state )
end
The view code is clean now, we can just call the helper method to load all needed options.