在Rails 5的帮助器中调用一个方法

时间:2018-08-15 17:16:25

标签: ruby class controller ruby-on-rails-5 helpers

我在Rails 5中有一个用于会话的帮助程序,它正在依次调用用户表和会话表,这是因为我的数据库中有相关的代码,代码如下:

module SessionsHelper
  def generate_user_session
    session_build = user.sessions.build
    session_build.generate_access_token
    session_build.save!
  end
end

问题是当我在控制器中调用该方法时,出现此错误:

  

undefined local variable or method 'user'

我知道此错误是由于我在控制器中对助手的引用不正确,问题是...

如何从控制器中的助手中调用方法的正确格式?


注意: :请考虑在我的助手中,我正在呼叫表用户,该用户也在呼叫表会话。

1 个答案:

答案 0 :(得分:1)

您正在尝试访问仅在控制器上可用的变量(var child = div.querySelector("img"); if(child != null){ div.removeChild(child); } )。您可以尝试将@user设置为user并使用。

但是正如塔德曼所写的那样,您不应使用助手来控制提议。

如果用于会议建议,则可以使用instance_variable或创建一个新的Class来处理。