程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Ruby Rails-为AJAX调用控制器动作构造数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Ruby Rails-为AJAX调用控制器动作构造数据?

开发过程中遇到Ruby Rails-为AJAX调用控制器动作构造数据的问题如何解决?下面主要结合日常开发的经验,给出你关于Ruby Rails-为AJAX调用控制器动作构造数据的解决方法建议,希望对你解决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,请注明来意。
标签: