Rails中的AJAX GET请求,而不呈现视图/json
AJAX GET request in Rails without rendering views/json
发出GET
请求以检查是否发送后续POST
请求,并且不需要在第一个请求之后呈现任何内容。我在控制器操作的基础上使用render nothing: true
,所以当我通过浏览器控制台发送请求时,我不确定是什么导致了ActionView::MissingTemplate at /able_to_claim
错误:
def able_to_claim
role, user_id = params[:role], params[:user_id]
if role == "Senior Editor" or role == "Admin"
return true
else
active_essays = 0
Claim.where(:user_id => user_id).each {|claim| active_essays += 1 if Essay.find(claim.essay_id).status != "Complete"}
if role == "Editor" and active_essays < 5
return true
elsif role == "Managing Editor" and active_essays < 15
return true
else
return false
end
end
render nothing: true
end
路线:get '/able_to_claim' => 'users#able_to_claim'
js文件:
response = $.ajax({
type: 'GET',
url : '/able_to_claim/?role=' + userRole + '&user_id=' + userId,
crossDomain: true,
contentType:'application/json; charset=utf-8',
dataType: 'json'
});
在application.html.erb
:中定义的userRole和userId
<%= javascript_tag "var userId = #{current_user.id};" if current_user %>
<%= javascript_tag "var userRole = '#{current_user.role}';" if current_user %>
哇,感觉真傻。我完全不知道return
会脱离函数的其余部分。通过一些重构:
def able_to_claim
role, user_id = params[:role], params[:user_id]
if role == "Senior Editor" or role == "Admin"
can_claim = true
else
active_essays = User.find(user_id).essays.where.not(status: 'Complete').count
if role == "Editor" and active_essays < 5
can_claim = true
elsif role == "Managing Editor" and active_essays < 15
can_claim = true
else
can_claim = false
end
end
render json: {can_claim: can_claim}
end
相关文章:
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 发送json对象或使用express路由呈现视图
- 使用javascript在MVC视图中解析.net JSON字符串
- JSON范围的更改没有反映在angularjs中的视图中
- 自定义筛选器不'我不使用django数据表视图创建的ajax.data.Json
- 如何在视图中显示json返回的linq列表
- 如何使用不同视图的JSON对象更新angular js中的全局JSON字段
- 将JSON REST请求加载到Kendo ui列表视图中的问题
- onclick在视图中显示重复的json结果
- 如何从JSON数组中获取数据并将其放入列表视图中
- 如何将 json 数据发送到代码点火器视图
- 将 JSON 数据从控制器传递到指令并显示在视图中
- 如何在网页上存储记录 (json) 并仅在“视图”上的记录上显示
- 挖空,映射后从视图模型获取 JSON
- 如何将嵌套的JSON / C#数组加载到视图模型中?使用Knockout,jQuery
- 如何在 android 中的可扩展列表视图组和子项中加载 json 数据
- 如何从另一个视图上编写的 JS 代码重定向到控制器,并将 JSON 对象随之传递
- 客户端通过JS请求JSON并填充Rails视图
- 我的视图模型不会根据 JSON 结果淘汰来增加数字
- Rails中的AJAX GET请求,而不呈现视图/json