我在尝试实现设计 jwt 时遇到问题。这是我的设计用户模型:
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable,
:database_authenticatable,
:jwt_authenticatable,
jwt_revocation_strategy: JwtBlacklist
end
Run Code Online (Sandbox Code Playgroud)
这是我的 blacklist.rb 模型。
class JwtBlacklist < ApplicationRecord
include Devise::JWT::RevocationStrategies::Blacklist
self.table_name = 'jwt_blacklist'
end
Run Code Online (Sandbox Code Playgroud)
这就是我得到的。
Caused by:
NameError: uninitialized constant User::JwtBlacklist
Run Code Online (Sandbox Code Playgroud)
希望你能帮我解决这个问题,我是 Rails 新手。非常感谢。
早上好,尝试用Eloquent创建一个简单查询时遇到麻烦。
这是mi Colonia模型:
class Colonia extends Model
{
protected $table = 'catalogo_colonias';
public function city()
{
return $this->belongsTo('App\City', 'ciudades_id');
}
}
Run Code Online (Sandbox Code Playgroud)
如果我做。
$response = Colonia::find(1)->city;
Run Code Online (Sandbox Code Playgroud)
我正在得到答复,但我不想通过id查找,我正在尝试做出这样的事情。
$response = Colonia::where('codigo_postal', $codigo_postal)->city;
Run Code Online (Sandbox Code Playgroud)
但这给我一个错误。
未定义的属性:Illuminate \ Database \ Eloquent \ Builder :: $ city
如您所见,它已在上面声明,我想这是一个语法问题,希望对您有所帮助。
谢谢你,问候。
我尝试从Ruby返回json时遇到问题。
这是我的控制器(parts_controller)。
def show()
@part = Part.find(params[:id])
unless @part.nil?
render json: @part
end
end
Run Code Online (Sandbox Code Playgroud)
我的路由文件:
Rails.application.routes.draw do
root to: "home#index"
resources :parts
end
Run Code Online (Sandbox Code Playgroud)
这是我从爱奥尼克(Ionic)获得的帖子方法。
postData()
{
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let body = {
id: 1
};
this.http.post('http://localhost:3000/parts/1', JSON.stringify(body), {headers: headers})
.map(res => res.json())
.subscribe(data =>{
console.log(data);
});
}
Run Code Online (Sandbox Code Playgroud)
如果我手动输入http:// localhost / 3000 / parts / 1,它将返回JSON,但是当我尝试通过邮寄方式获取它时,它会抛出:POST http:// localhost:3000 / parts / 1 404(Not找到)
我也有show和index方法的视图,谢谢您的宝贵时间。