大佬教程收集整理的这篇文章主要介绍了Ruby Rails-为AJAX调用控制器动作构造数据,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
function submitForm() {
alert("checked the button - worked");
$.AJAX({
type:'POST',
url: '/pagetimes/create',
data: $.param({ pagetime: {pagename: "whatever", start: 7, end: 21 }})
});
}
我的网站上需要一个按钮,可以将信息发送到控制器的create动作(“ pagetimes”)。尽管它没有发送我指定的所有数据,但似乎仍在工作-
可能与我无法构造数据向量有关。我已经通过以下方式在config / routes.rb文件中提供了POST请求:post
'pagetimes/create'
在application.js中:
function submitForm() {
alert("checked the button - worked");
$.ajax({
type:'POST',url: '/pagetimes/create',data: { pagename: "whatever",start: 7,end: 21 },});
}
其中:pagename
,:start
和:end
是我的数据表中的列(字符串,整数,整数),并且可以在模型中访问,并且可以在手动输入“新”页面中显示的页面时间获得。
在我的页面视图中:
<button type="button" onclick="submitForm()">Send data</button>
其他一切都是很标准的。我可以在数据库中看到该帖子已成功提交,但是我尝试填充的3个数据字段均为NULL。可能这与我如何构建该data: {}
领域有关?
O / w,Win7上的Rails 3,没有使用其他可能与此有关的花哨内容&Hellip;
更新1:这就是我尝试发布的表单源代码。也许是我不正确地引用字段的情况?
<div class="form-inputs">
<div class="control-group String optional pagetime_pagename"><label class="String optional control-label" for="pagetime_pagename">Pagename</label><div class="controls"><input class="String optional" id="pagetime_pagename" name="pagetime[pagename]" size="50" type="text" /></div></div>
<div class="control-group Integer optional pagetime_start"><label class="Integer optional control-label" for="pagetime_start">Start</label><div class="controls"><input class="numeric Integer optional" id="pagetime_start" name="pagetime[start]" step="1" type="number" /></div></div>
<div class="control-group Integer optional pagetime_end"><label class="Integer optional control-label" for="pagetime_end">End</label><div class="controls"><input class="numeric Integer optional" id="pagetime_end" name="pagetime[end]" step="1" type="number" /></div></div>
</div>
更新2:这是我的日志,其中包含POST:
Started POST "/pagetimes/create" for 127.0.0.1 at 2014-01-02 12:45:48 -0500
Processing by PagetimesController#create as */*
Parameters: {"end"=>"21","pagename"=>"whatever","start"=>"7"}
[1m[35mUser Load (1.0ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
[1m[35mSQL (15.0ms)[0m INSERT INTO "pagetimes" ("created_at","end","pagename","start","@R_674_9531@ed_at","user_id") VALUES (?,?,?) [["created_at",Thu,02 Jan 2014 17:45:48 UTC +00:00],["end",nil],["pagename",["start",["@R_674_9531@ed_at",["user_id",1]]
[1m[36m (7.0ms)[0m [1mcommit transaction[0m
Redirected to http://localhost:3000/pagetimes/22
Completed 302 Found in 91ms (ActiveRecord: 24.0ms)
更新3:控制器动作
def create
@pagetime = Pagetime.new(params[:pagetime])
@pagetime.user = current_user
respond_to do |format|
if @pagetime.save
format.html { redirect_to @pagetime,notice: 'Pagetime was successfully created.' }
format.json { render json: @pagetime,status: :created,LOCATIOn: @pagetime }
else
format.html { render action: "new" }
format.json { render json: @pagetime.errors,status: :unprocessable_entity }
end
end
end
以上是大佬教程为你收集整理的Ruby Rails-为AJAX调用控制器动作构造数据全部内容,希望文章能够帮你解决Ruby Rails-为AJAX调用控制器动作构造数据所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。