【发布时间】:2014-12-18 18:15:31
【问题描述】:
在我的咖啡脚本代码中
app/assets/javascript/drill.js.coffee
...
$('document').ready ->
if $('#x_eval_assum').length == 1
$('#x_eval_assum')
.submit (event) ->
event.preventDefault()
data = $("#x_eval_assum").serialize()
drill_id = $('.form.assumption').attr('data-drillid')
$.post "/drills/#{drill_id}/discovery_target_saved.json", data, (res)->
console.log(' here ')
.change (event) ->
event.preventDefault()
...
app/controller/drills_controller.rb
...
def discovery_target_saved
load_evaluation_assumption_selections
load_user_positions
render :json, {data: @drill.id}
end
在开发者工具控制台中我看到了这个错误 POST .. host:3000/drills/13/discovery_target_saved.json 500(内部服务器错误)
尝试了多种变体 - 我做错了什么?
更多内容
“load_evaluation_assumption_selections”和“load_user_positions”都是 Drill Controller 操作,它们工作正常并被其他 Drill 操作使用。
我目前在内部日志中显示另一个错误 - 特别是
Completed 500 Internal Server Error in 46ms
ActionView::MissingTemplate - 缺少模板演习/json、应用程序/json 与 {:locale=>[:en]、:formats=>[:json]、:variants=>[]、:handlers=>[: erb,:builder,:raw,:ruby,:jbuilder,:coffee]}。搜索:
* "/Users/davidlee/drill_investor/app/views"
*“/Users/davidlee/.rvm/gems/ruby-2.1.1/gems/devise-3.4.0/app/views”
:
actionview (4.1.6) lib/action_view/path_set.rb:46:in find'
actionview (4.1.6) lib/action_view/lookup_context.rb:124:infind
【问题讨论】:
-
服务器控制台上是否有一些输出,可能是这个内部错误?你在
load_evaluation_assumption_selections和load_user_positions做什么。我想我们无法回答这个问题,因为您这边没有足够的信息。 -
@drill是否已在控制器中设置?如果没有,那么当您在@drill上调用.id时,您将得到一个no method error -
另外,我不确定您的网址是否有效。尝试用此版本替换您的
$.post行:$.post "/drills/#{drill_id}/discovery_target_saved", data, (res)-> console.log('here'), "json" -
工作异常地闭嘴,但会尽快回到明天 - 皮埃尔
标签: ruby-on-rails coffeescript