Tal*_*boy 3 ruby ruby-on-rails ruby-on-rails-4 ruby-on-rails-5
我有一个Rails 5 API,我需要使用该cookies方法.
我需要存储前端使用的cookie和一些基本的用户数据(不是服务器会话状态).
我有这个 application.rb
config.middleware.insert_after ActionDispatch::Callbacks, ActionDispatch::Cookies
Run Code Online (Sandbox Code Playgroud)
我打电话时它会正常显示 rake middleware
但这仍然发生......
NameError (undefined local variable or method `cookies' for #<SessionsController:0x007fe96fd671e8>):
Run Code Online (Sandbox Code Playgroud)
调节器
class SessionsController < ApplicationController
def login
...
add_login_headers(current_company.id, user.id, user.format_rights)
...
end
private
def add_login_headers(company_id, user_id, rights)
...
cookies.permanent[Settings.cookies.app] = {
value: JSON.generate(company_id: company_id, user_id: user_id, rights: rights),
secure: true
}
end
end
Run Code Online (Sandbox Code Playgroud)
我已经修复了这种贫民窟的方式,所以我不需要包括50,000个额外的助手.
def cookies
# helpers not available in --api mode
request.cookie_jar
end
Run Code Online (Sandbox Code Playgroud)
你需要添加这个控制器模块:
class ApplicationController < ActionController::API
include ActionController::Cookies
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |