Tag: ruby on rails

Rails不引人注目的javascript(UJS)ajax:在追加数据参数之前

我试图在通过ajax(通过Rails UJS)发送之前将一些参数附加到表单。 $(document).on(“ajax:before”,”.form-example”, function(event) { event.data = $(“:hidden”).serialize(); }); 隐藏的输入不在表单中,因此我需要收集它们,序列化它们,并将它们添加到请求(这是一个PUT请求)。 但是,在上面的例子中,没有参数传递给服务器,我做错了什么? 如何使用隐藏输入的序列化值传递名为”items”参数?

jQuery Ajax调用Rails 3获得401 Unauthorized Request

我有一个Rails 3.1应用程序,它使用设计进行身份validation。 我试图通过ajax拨打电话到url。 出于某种原因,我一直获得401 Unauthorized访问权限。 我已经按照http://henrik.nyh.se/2008/05/rails-authenticity-token-with-jquery中的教程来了解如何validationjQuery请求。 请求的代码是 $.get(‘/chromosomes.json’, {sequence_start: ’10’, sequence_end: ‘100’}, function(data){ alert(data) }, ‘json’); 奇怪的是,在我看到的服务器上 开始GET“/chromosomes.json?sequence_start=10&sequence_end=100&_=1320958293654”for 127.0.0.1 at Thu Nov 10 15:51:33 -0500 2011 Processing by ChromosomesController #index as JSON参数:{“sequence_start”=>“10” ,“_”=>“1320958293654”,“sequence_end”=>“100”}在10ms内完成 在我的控制器中,我有: before_filter :authenticate_user! def index respond_to do |format| format.html format.json { render :json => @chromosomes } end end 由于某种原因,真实性会话令牌没有传递给Rails。 如果我删除authenticate_user! 在过滤之前它工作正常!? 很感谢任何forms的帮助。 […]

Rails 4:如何使用AJAX更新索引页面

我无法相信我没有找到其他问题来回答这个问题,但我已经搜索过高低,找不到真正回答我问题的任何问题。 基本上,我有一个费用页面,我想在表格中显示给定月份内的所有费用。 我有一个月份和年份选择,现在我通过向url添加月份和年份参数并使用一些小的javascript转到该href。 我想避免页面刷新,只是在更改选择框值时更新表。 据我了解,因为我没有使用表单,我不能使用:remote => true ,因此必须使用AJAX。 我的研究让我设置如下。 这是我的JQuery与AJAX调用: $(document).ready(function() { $(‘#monthSelect’).change(function() { // alert(“yay”); var m = $(this).val(); var y = $(“#yearSelect”).val(); $.ajax({ type: “GET”, url: “/expenses”, data: { month : m, year : y } , success: function(data) { }, dataType: “json” }); }); }); #monthSelect和#yearSelect是我的两个选择框的ID。 这部分似乎有效。 当我更改月份选择框的值时,它会在params中将正确的月份和年份的GET请求发送到”/expenses” 。 /expenses自然地路由到我的index操作。 这是我困惑的部分。 def […]

Ajax成功回调ruby on rails

嗨想在我的ruby on rails教程中实现ajax,控制器将返回一个处理ajax请求的对象。 我不知道在我的javascript文件中处理响应。 我想根据javascript文件中返回的对象更新一些div。 这是我在showcomments.js.erb中写的内容 $(‘.show_comment’).bind(‘ajax:success’, function() { $(this).closest(‘tr’)=”Something here from the object returned”); }); 调用ajax调用的链接是通过这行代码 ‘showcomment’ , :id =>article, :remote => true ,:class=>’show_comment’ %> 我处理此请求的控制器操作是这样的 def showcomment @article = Article.find(params[:article_id]) @comment = @article.comments.find(params[:id]) respond_to do |format| format.js{ render :nothing => true } end end 如何才能做到这一点?

是否可以使用远程链接返回HTML(而不是JS)数据?

我正在使用Ruby on Rails 4.1,我想知道是否可以创建:remote链接以要求HTML数据作为响应。 也就是说,我有以下代码 link_to “Title”, url, :remote => true 当我点击链接然后,响应成功,响应代码是JS数据,但我想返回HTML数据,也许是jQuery.ajax([settings])方法允许通过设置dataType: ‘html’ 。 换句话说,当点击上面的链接然后它触发我的控制器的format.js (在respond_to do |format| … end块中)但是我想让它触发format.html 。 如果有可能,我该怎么做?

如果没有可用数据,则rails3-jquery-autocomplete清除字段

我正在使用rails3-jquery-autocomplete。 如果自动完成没有返回结果,是否可以清除自动填充字段的值? 我试图阻止用户提交我们在数据库中没有的值。

Rails 3:jquery改变部分

rails newbie herem,我想学习一些关于jquery的东西,所以我想我会尝试使用AJAX在我的部分视图之间切换。 现在在我的用户短划线上我有一个指向他们’喜欢’页面的链接,它需要完全重新加载才能看到’喜欢’页面,我将如何更改这个以使用likes_user_path @用户刷新? 视图/页/ home.html.erb <a href="https://stackoverflow.com/questions/7865198/rails-3-jquery-to-change-partials/”> Likes UsersController def likes @title = “Likes” @user = User.find(params[:id]) @like_stuff = @user.likes.paginate(:page => params[:page]) render ‘show_likes’ end

用jquery,ajax提交表单,无法获得成功回调

好吧,我对此非常接近,但我需要一些帮助来克服驼峰。 我正在尝试通过AJAX在rails应用程序中提交表单,该应用程序发送电子邮件,然后在成功时执行一些代码。 当我在表单上输入时,AJAX正在运行,因为我收到了电子邮件。 但是,成功代码未运行(也不是错误)。 我也试过’完成:’但是没有用,所以我怀疑它可能是默认表单行为的一些问题? 想法? 这是ajax: // AJAX Function to submit email form without refreshing page $(“#contact_me”).submit(function(){ var dataSet = $(this).serialize(); $.ajax({ type: “POST”, url: $(this).attr(“action”), data: dataSet, success: function(){ alert(“Sent!”); }, error: function(){ alert(“Something went wrong!”); } }); return false; }) 它调用的rails动作: def email_me name = params[:name] email = params[:email] content = params[:text] […]

我应该将我的jQuery代码放在Ruby on Rails应用程序中的哪个位置?

我是RoR的新手,对jQuery来说还是个新手。 目前,我有一个工作的RoR网站作为学习平台。 我想包括一些jQuery基本function来扩展我的学习(.mouseenter(),.。hover(),. .fadeIn()等)。 让我用一些代码设置场景(我已经剪断了部分以保持简短): $ ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] $ rails -v Rails 3.2.8 的Gemfile: gem ‘jquery-rails’ 配置/ routes.rb文件: root to: ‘static_pages#home’ 应用程序/控制器/ static_pages_controller.rb: def home @Presents = Present.all.reverse.take(20) end 应用程序/视图/布局/ application.html.erb: List “all” %> 应用程序/资产/ Java脚本/ application.js中: //= require jquery //= require jquery_ujs //= require bootstrap //= require_tree . […]

Rails:调用Ajax重定向

我正在尝试将未登录的用户直接重定向到登录窗口,这是一个引导模式窗口。 我在ApplicationController编写了一个名为logged_in_user的方法: def logged_in_user unless !current_user.nil? flash[:danger] = “Please log in” redirect_to root_url end end login_url路由到sessions#new login_url ,我定义如下: (sessions_controller.rb) def new respond_to do |format| format.html format.js end end 以下是redirect_to root_url指向的视图: 这是在new.js.erb时执行的new.js.erb : $(“#login-window”).html(“”); 因此,一旦调用sessions#new _new.html.erb ,登录表单( app/views/sessions _new.html.erb将显示为弹出窗口。 除了它必须作为JS而不是HTML处理。 所以我有以下链接,它位于_header.html.erb ,可在所有视图中使用,以确保是这种情况: “modal”, ‘data-target’ => ‘#login-window’} %> 单击链接时,此工作正常。 这就是为什么我选择在logged_in_user方法中执行redirect_to root_url而不是redirect_to login_url ,因为后一种方法导致“缺少模板错误”。 但我真正想要的是将用户直接重定向到弹出窗口,而不是首先将它们重定向到root_url并且必须单击“登录”链接才能输入表单。 换句话说,我需要一种方法以某种方式通过发出Ajax请求将用户重定向到sessions#new #new,以便可以将会话#new作为JS处理。 我尝试了以下方法在logged_in_user方法中进行所需的重定向,其中没有一个工作: […]