I have a case where replicas of certain controller methods would be useful within the view. In particular, these are role-based user-access methods. For example: can_view? can_modify? These will be methods setup in the AccountSystem module which is included in the ApplicationController. These methods will be used as before_filters to determine if the user has access to do a certain thing or not. I would also like to provide these same methods to my views, but I don't quite understand how the scope will work. My views don't have access to the "can_view?" from AccountSystem. But if I put a can_view? method in a helper, how would it call the can_view? from AccountSystem? Also, would there be a simple way to duplicate these in one fell-swoop to get all the methods copied over? Jake
on 2007-01-21 07:41
on 2007-01-21 10:50
On 1/20/07, Jake Janovetz <firstname.lastname@example.org> wrote: > I would also like to provide these same methods to my views, but I don't > quite understand how the scope will work. In your ApplicationController: helper_method :can_view?, :can_modify? -- Chris Wanstrath http://errtheblog.com
on 2007-01-21 20:14
On Sun, 2007-01-21 at 01:50 -0800, Chris Wanstrath wrote: > Chris Wanstrath > http://errtheblog.com > Ok Chris, I like helper method, but sometimes the list grows too long. I used to have following code in my application.rb helper_method :current_url,:rand_between,:url_without_port,:market_open_time_in_utc,:market_close_time_in_utc,:market_current_time_in_utc,:market_local_time_as_str,:redirect_to_login,:current_domain,:diode,:triode,:pipe_val in those cases, what would the best approach? Moving them to a plugin?
on 2007-01-22 00:30
On Jan 21, 2007, at 11:14 AM, Hemant Kumar wrote: >> helper_method :can_view?, :can_modify? > helper_method :current_url,:rand_between,:url_without_port,:market_ope > n_time_in_utc,:market_close_time_in_utc,:market_current_time_in_utc,:m > arket_local_time_as_str,:redirect_to_login,:current_domain,:diode,:tri > ode,:pipe_val > > in those cases, what would the best approach? Moving them to a plugin? > Hemant- You could store all of those methods in a module name WhateverModule. Then just include that in yoru controller and view helpers and it will bve shared without all the ugly helper calls: module WhateverModule def some_methods end end class ApplicationController < ... include WhateverModule end module ApplicationHelper include WhateverModule end Cheers- -- Ezra Zygmuntowicz -- Lead Rails Evangelist -- email@example.com -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273)
on 2007-01-22 02:48
On Sun, 2007-01-21 at 15:28 -0800, Ezra Zygmuntowicz wrote: > >> > > > > > class ApplicationController < ... > include WhateverModule > end > > > module ApplicationHelper > include WhateverModule > end Hmm makes sense. Thanks.