render:json 中的未定义方法 api_[model]_url
UndefinedMethod api_[model]_url in render:json
我在很多线程和 none 解决方案中看到过这个错误 - 基本上是一个,但它对我不起作用。所以也许我做错了什么。
这是我的控制器:*从 rails 教程中的 api 复制 - 它对那个人有效..
class Api::V1::SessionsController < ApplicationController
respond_to :json
def create
user_password = params[:session][:password]
user_name = params[:session][:user_name]
user = user_name.present? && User.find_by(user_name: user_name)
if user.valid_password? user_password
sign_in user, store: false
user.generate_authentication_token!
user.save
render json: user, status: 200, location: [:api, user]
else
render json: { errors: "Invalid email or password" }, status: 422
end
end
end
我试过使用 location: [:api, :v1, user]
还是不行
我不知道我做错了什么,也不知道在哪里寻找错误。我和教程的唯一区别是我使用的是 Rails 4.2.0.
试试这个:
render json: user, status: 201, location: api_v1_user_path
我在很多线程和 none 解决方案中看到过这个错误 - 基本上是一个,但它对我不起作用。所以也许我做错了什么。
这是我的控制器:*从 rails 教程中的 api 复制 - 它对那个人有效..
class Api::V1::SessionsController < ApplicationController
respond_to :json
def create
user_password = params[:session][:password]
user_name = params[:session][:user_name]
user = user_name.present? && User.find_by(user_name: user_name)
if user.valid_password? user_password
sign_in user, store: false
user.generate_authentication_token!
user.save
render json: user, status: 200, location: [:api, user]
else
render json: { errors: "Invalid email or password" }, status: 422
end
end
end
我试过使用 location: [:api, :v1, user]
还是不行
我不知道我做错了什么,也不知道在哪里寻找错误。我和教程的唯一区别是我使用的是 Rails 4.2.0.
试试这个:
render json: user, status: 201, location: api_v1_user_path