rails helper中的访问请求对象

Kis*_*han 9 ruby ruby-on-rails

在我的application_helper.rb文件中,我有一个这样的函数:

def find_subdomain
  request.domain
end
Run Code Online (Sandbox Code Playgroud)
undefined local variable or method `request' 

我在另一个帮助器中调用此方法.如何在不通过控制器传递任何参数的情况下在helper中获取域.

Chr*_*rds 5

我知道这是旧的,但最近我自己偶然发现了这个,我想我会加入。你可以将方法添加到你的方法中ApplicationController并将其指定为helper_method

class ApplicationController < ActionController::Base
  helper_method :find_subdomain

  private

  def find_subdomain
    request.domain
  end
end
Run Code Online (Sandbox Code Playgroud)


Mic*_*lva 4

正如其他人提到的,请求对象应该传递给你的助手,这将让你从视图(ERB)传递它,如下所示,

<%= find_subdomain(request) %>
Run Code Online (Sandbox Code Playgroud)