Ruby on rails 3 如何阻止助手方法应用于特定控制器?
我有一个helper_方法,允许链接从子域中转义。然而,它正在影响我的视频控制器,因为它本质上似乎否定了“当前事件”方法,而不是在事件控制器中 在过去的4天里,我尝试了几十种不同的方法,这样我仍然可以从子域中逃离我的链接,但仍然允许视频控制器工作 我认为实现这一点的最佳方法是将视频控制器从助手方法中排除,但我不确定如何排除(或者这是否是前进的最佳方法-我显然是个傻瓜!)请提供任何建议?!相关代码如下:Ruby on rails 3 如何阻止助手方法应用于特定控制器?,ruby-on-rails-3,subdomain,helpermethods,Ruby On Rails 3,Subdomain,Helpermethods,我有一个helper_方法,允许链接从子域中转义。然而,它正在影响我的视频控制器,因为它本质上似乎否定了“当前事件”方法,而不是在事件控制器中 在过去的4天里,我尝试了几十种不同的方法,这样我仍然可以从子域中逃离我的链接,但仍然允许视频控制器工作 我认为实现这一点的最佳方法是将视频控制器从助手方法中排除,但我不确定如何排除(或者这是否是前进的最佳方法-我显然是个傻瓜!)请提供任何建议?!相关代码如下: module UrlHelper def url_for(options = nil)
module UrlHelper
def url_for(options = nil)
if request.subdomain.present? and request.subdomain.downcase != 'www' and !options.nil? and options.is_a?(Hash) and options.has_key? :only_path and options[:only_path]
options[:only_path] = false
end
super
end
end
视频控制器
def new
if current_event?
@video = current_event.videos.new
else
@video = Video.new
end
end
def create
if current_event.present?
@video = current_event.videos.new(params[:video])
@video.user_id = current_user.id
key = get_key_from_the_cloud
@video.key = key
else
@video = current_user.videos.new(params[:video])
@video.user_id = current_user.id
key = get_key_from_the_cloud
@video.key = key
end
if @video.save
flash[:success] = "Video uploaded!"
redirect_to root_url(subdomain: => current_event.name)
else
flash[:error] = "#{@video.errors.messages}"
render :new
end
end
当前事件方法
def current_event
if request.subdomain.present?
@event = Event.find_by_name(request.subdomain)
end
end
你看了吗
您可能希望创建一个新函数test
,它只执行以下操作
module UrlHelper
def test
puts "Test is called"
end
end
如果这样做有效的话,你知道它不包括失败的,但它必须是方法。
否则,您知道该模块未包含在内,您可以缩小搜索范围。您查看了吗?我没有,但我现在尝试了这个,但它没有帮助解决问题。出于某种原因,我不能只在我的事件控制器中包含urlhelper(我很确定我正在尝试在“EventsController”下正确地“包含urlhelper”您是否尝试过该包含是否有效?您可能希望创建一个新函数
def test
,它只执行类似于put“test is called”的操作
如果这样做有效,你知道它不包含失败,但它必须是方法。否则,你知道模块不包含,你可以缩小搜索范围。我已经确定它不包含在内。只有我的“应用程序助手”包含在内,因为测试方法在我将其放入其中时有效,但在我将其放入任何其他he中时无效lper方法并尝试将其包含在事件控制器中。谢谢!我已经重新检查了如何包含helper方法,但它毕竟是错误的,因此它现在仅在该控制器上本地工作。快速q如此最佳实践-我现在应该删除此问题还是将其保留?再次谢谢。