【发布时间】:2019-04-14 04:58:36
【问题描述】:
第一次使用 Ruby on Rails。
在我的控制器中,我正在按如下方式保存新用户信息,并且通过下面的代码一切正常
# POST /users
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
redirect_to @user, notice: 'User was successfully created.'
else
render :new
end
end
现在我需要在提交表单时通过 json 获取消息响应,以便我可以从前端访问它。为此, 我在下面添加了代码,但它显示错误
ActionController::UnknownFormat
我在这里找到了参考解决方案,但无法使用
# POST /users
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
session[:user_id] = @user.id
format.json { render json: @user, message: 'User was successfully created.' }
else
#render :new
format.json { render json: @user, message: 'User cannot be created.' }
end
end
end
【问题讨论】:
-
我猜你没有发送正确格式的请求。您可以通过查看应该显示类似
Processing by UsersController#create as HTML的日志来验证这一点。您需要将请求发送到/users.json或发送content-type=application/json标头。 -
先生 format.html 正在工作,但 format.json 是导致错误的原因。请问有什么地方我需要一些配置。感谢之间
-
您是如何发送请求的?请使用stackoverflow.com/help/mcve 编辑您的问题
标签: ruby-on-rails