mentby.com
Blog | Jobs | Help | Signup | Login

Create a helper for models and views?



Hi!

If I have a method that is useful in both models and in views, where would
be the appropriate place to put it?

The method in question just takes two dates as strings, tries to parse them
and returns all dates in the range between them. It also takes care of the
issues when the dates are badly formatted etc etc..

This method is being used in several models (so a simple class method in
one model doesn't seem appropriate) and also in some view helpers.

So, where does this method belong in rails?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe*******.
To post to this group, send email to rubyonrails-talk*******.
To view this discussion on the web visit  https://groups.google.com/d/msg/rubyonrails-talk/-/zjR_YZsmv[..]
For more options, visit  https://groups.google.com/groups/opt_out.


Linus Pettersson Sun, 03 Feb 2013 04:24:09 -0800

And actually, it is used in my controllers as well :)

Pettersson:

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe*******.
To post to this group, send email to rubyonrails-talk*******.
To view this discussion on the web visit  https://groups.google.com/d/msg/rubyonrails-talk/-/2uIc97s6-[..]
For more options, visit  https://groups.google.com/groups/opt_out.


Linus Pettersson Sun, 03 Feb 2013 04:25:11 -0800

# config/initializer/preload_helpers.rb

require "my_app/my_helper"

# lib/my_app/my_helper.rb ->

module MyHelper
  module_function
  def helper
    puts "win"
  end
end

# app/helpers/application_helpers.rb ->

class ApplicationHelpers
  include MyHelper
end

# app/models/my_model.rb ->

class MyModel < ActiveRecord::Base
  include Myhelper
end

Read Above.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe*******.
To post to this group, send email to rubyonrails-talk*******.
For more options, visit  https://groups.google.com/groups/opt_out.


Jordon Bedwell Sun, 03 Feb 2013 04:29:53 -0800

Additionally, you can put it inside its own class and use that as necessary.
It'd be similar to the previous answer, but instead of including that
behaviour, you'd get an instance of that class and pass in the strings
either in #initialize or the method you use to parse and call that method.

~Spaceghost

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe*******.
To post to this group, send email to rubyonrails-talk*******.
For more options, visit  https://groups.google.com/groups/opt_out.


Johnneylee Rollins Sun, 03 Feb 2013 06:37:45 -0800

Sounds to me like this would be better as a gem, since it seems to be
completely independent of the application (and probably have much
broader use!)

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe*******.
To post to this group, send email to rubyonrails-talk*******.
For more options, visit  https://groups.google.com/groups/opt_out.


Tamara Temple Mon, 04 Feb 2013 00:29:48 -0800



Related Topics

Post a Comment