【发布时间】:2015-01-27 18:57:44
【问题描述】:
我正在将一个网站从 Symfony 转换为 Ruby on Rails,最后我将使用我的 javascript 弹出式电子邮件联系表。我不想重写表单或 java 脚本,因为它首先需要做很多工作才能让它工作。那将是第二阶段。
这就是我遇到问题的地方:
sendBtn = new Button({
label: "Send",
onClick: function(){
if (emForm.validate() == true){
// Post the data to the server
request.post("/contact/create",
{data: domForm.toObject("contact-form"),
// Wait 2 seconds for a response
timeout: 2000
}).then(function(response){
emailDialog.hide();
alertDialog.set("content",response)
alertDialog.show();
});
}
}
},"submit-btn");
我知道它会到达 request.post,因为我在它之前复制了“email.Dialog.hide()”行并将它隐藏起来。我后来添加了代码来捕获任何错误。它会立即到达那里,而不是在两秒超时之后。顺便说一句,我在这里使用道场。所以我怀疑它不喜欢“/contact/create”,因为它是我唯一改变的东西。
在我的 routes.rb 我有:
get 'contact/create'
我的帖子中是否包含正确的信息?如果不是我如何到达那里? javascript 包含在 application.html.erb 中,因此可以从站点上的所有页面调用它。
如果相关的话,我的contact_controller.rb目前就是这样:
class ContactController < ApplicationController
def create
respond_to do |format|
#format.html {}
#format.js {}
format.json { render :json => {:response => 'Amazing, it works'} }
end
end
def show
end
end
【问题讨论】:
标签: javascript ruby-on-rails ajax json dojo