Tag: ruby on rails 3

Backbone,模板内的Bootstrap模态未显示

我正在尝试为每个post生成一个模态,以便每个post都有一个包含post内容的模式(最终是评论)。 单击注释链接时,将显示模式。 问题是我必须为每个post创建一个bootstrap模态块,所以我决定在我的骨干模板中这样做最容易。 为什么这不起作用? 这是我的代码: 应用程序/资产/模板/职位/ index.jst.eco <a href="#”>Comment <div class="modal" id="post-” tabindex=”-1″ role=”dialog” aria-labelledby=”myModalLabel” aria-hidden=”true”> 应用程序/资产/ Java脚本/路由器/ posts_router.js.coffee class Voice.Routers.Posts extends Backbone.Router routes: ”: ‘index’ ‘:id’: ‘show’ initialize: -> @collection = new Voice.Collections.Posts() @collection.fetch() index: -> view = new Voice.Views.PostsIndex(collection: @collection) $(‘#container’).html(view.render().el) show: (id) -> $(“#post-#{id}”).modal(‘show’) js控制台中没有错误,似乎没有显示模态。 每个post都有一个模态块,其html id字段等于“post-(postid)” 任何帮助深表感谢!

Ajax回调不能与Rails 3.0.5和jQuery 1.5.1一起使用

我在我的网站上使用kaminarigem进行了ajax分页,但是我很难让ajax回调工作 我正在使用jquery-1.5.1,rails 3.0.5并且我有最新的rails.js文件 我的podcasts.html.haml如下所示 #paginator = paginate @podcasts, :remote => true #podcasts = render @podcasts 我的index.js.erb文件如下所示: $(‘#podcasts’).html(”); $(‘#paginator’).html(‘ true).to_s) %>’); 事情的分页方面工作正常,页面确实通过ajax加载,但我想做一些ajax回调,我只是无法弄清楚如何让这个工作。 我已经尝试将以下代码的大量变体添加到我的application.js文件中,但根本没有成功: $(‘#paginator a’).bind(‘ajax:success’, function(data, status, xhr) {alert(“success!”);}) 我希望上面的代码能够在ajax完成后触发警报。 什么都没发生。 有人有任何想法吗? PS 上面的paginate方法来自Kaminari gem ,它创建了以下html: Page 1 Page 2 Page 3

Rails3 / will_paginate / Ajax – 下一个/上一个链接无法正常工作(这是一个错误?)

我正在关注我的rails 3应用程序的“ 使用ajax分页 ”railscast。 一切似乎都很好,除了上一个和下一个链接根本不起作用的事实。 基本上, 看来,即使我点击其他页面,上一个链接也会卡住(当我在用户/ show page1上时) “下一个链接”一直工作到第2页(之后我不能使用它) 当我来到“……”时,数字没有更新 我很高兴知道是否有人遇到同样的问题(一个错误?)或者我的代码是错误的。 我使用将paginate(“〜> 3.0.pre2”和jquery 1.8.10)作为依赖于用户的微博列表。 非常感谢你的帮助! 这里的代码: layout_helper.rb module LayoutHelper def javascript(*args) content_for(:head) { javascript_include_tag(*args) } end end users_controller.rb def show @user = User.find(params[:id]) @microposts = @user.microposts.paginate(:per_page => 10, :page => params[:page]) end 微柱/ _micropost.html.erb … 用户/ show.html.erb … 用户/ show.js.erb $(“#feed_items”).html(“”); pagination.js $(document).ready(function() { […]

使用Ajax在输入时提交Textarea,然后在不刷新整个页面的情况下呈现部分

目前我正在尝试通过JS和Ajax在没有提交按钮的情况下发表评论帖并且它有效。 问题是当post被提交时,页面会重新加载到/post/:id/comment页面,我希望它呈现部分而不是刷新整个页面或带我到另一个页面。 我不熟悉JS,非常感谢任何帮助! 这就是我正在使用的: 用于使用enter发布的JS $(function(){ $(‘textarea’).keypress(function(e) { if (e.keyCode == 13 && !e.shiftKey) { e.preventDefault(); var frm = this.form.submit(); $.ajax({ url: frm.attr(‘action’), data: frm.serialize(), complete: function(){ frm.submit(); }, dataType: json }); } }); 评论表 true do |f| %> “CommentText”, :placeholder => “Write a Comment…” %> 编辑 评论HTML “PP” %>

在.js.erb文件中使用$(this) – Ruby on Rails AJAX

我正在使用Rails3与jQuery并尝试进行简单的ajax调用。 我有一个链接,显示应用程序的当前状态(在线/离线)。 单击时,它将更新状态。 link_to app.status, { :controller => :apps, :action => :live_status, :id => app }, {:remote => true, :class => “#{app.status} status”} live_status.js.erb: $(this).fadeOut(); $(this).parent().html(“”); $(this).fadeIn(); status_link将返回更新的link_to 然而$(这个)并不像我想象的那样。 如何使用新状态更新点击状态?

jQuery $ .ajax()调用从Rails 3控制器获取JSON导致304 Not Modified?

在application.js我有: $(“#combo_box”).live(‘change’, (function() { $.ajax( { url: ‘/my_controller/get_data’, data: {id: some_id}, success: function(data){ do_stuff_with_data(data) } } ) } ) ) 在my_controller代码中我有: def get_data id = params[:id] @data = MyModel.DoSomeStuff(id) respond_to do |format| format.js { render :json => @data} end end 但由于某种原因, success的function只运行一次(我认为),其余时间Firebug在combobox更改触发ajax调用时报告304 Not Modified 。 这是如何运作的? 谢谢!

will_paginate无法使用partial的无尽页面

我一直在关注无限页面上的railscast并且之前为will_paginate做了同样的事情,但是我遇到了错误,但是我尝试在我的特定情况下实现它。 will_paginate gems工作得很完美,就像我从浏览Chrome中的开发人员工具所看到的那样,jQuery调用dom也是如此。 问题在于返回什么 – rails不喜欢它。 这是一些代码: 在videos.js.coffee : jQuery -> if $(‘.pagination’).length $(window).scroll -> url = $(‘.pagination .next_page’).attr(‘href’) if url && $(window).scrollTop() > $(document).height() – $(window).height() – 50 $(‘.pagination’).text(“Fetching more videos…”) $.getScript(url) $(window).scroll() 在我的views/users/index.js.erb $(‘.carousel’).append(‘ ‘); $(‘.pagination’).replaceWith(”); $(‘.pagination’).remove(); 在我的共享部分中,由users/index.erb.html呈现 这从我的开发日志中给出了以下错误: Completed 500 Internal Server Error in 15ms ActionView::Template::Error (Missing partial videos/video with {:locale=>[:en], :formats=>[:js, […]

没有向导gem的Rails多步表单

我有一个收集呼叫数据的Rails 3.2.14应用程序。 新页面和编辑操作表单在一个页面上相当长。 我正在寻求实现一个多步骤表单,使用JS /客户端处理来移动步骤。 我已经将Wicked Gem视为一种执行多步forms的方法,但是我不需要有状态配置,也不希望每步都更新通话记录。 我只需要一种干净的方法将表单分成几个步骤,并指出当前步骤。 我已经查看了Fuelx及其表单的Wizard组件,但是想看看是否还有其他JS模块可以在Rails中创建多步表单。 我意识到这个问题可能有点模糊,所以随时编辑或提供反馈。 如果有任何不明确的地方,请告诉我。 只是寻找有关如何使这项工作的建议或技巧。

将Javascript变量传递给Rails部分

我是Rails的新手,我正在努力完成一项显而易见的任务。 我有一个(剥离)forms: ‘form-inline’ } do |f| %> Order 当我点击’获取报价’并且当符号文本字段失去焦点时,我想在div $(#here)中在Google财经中呈现报价。 我已经编写了代码来提取Ruby中的引用。 在routes.rb中,我添加了: resources :orders do get ‘view_quote’, on: :collection end 在order_controller.rb中我添加了: def view_quote respond_to do |format| format.js { render :layout => false } end end 并在view_quote.js.erb中: sym = $(‘.orders #order_symbol’).val(); $(‘#quotes’).html(“”); 并在_googlequote.html.erb中(我将把逻辑提取引用): 错误发生在view_quote.js.erb中,因为sym未定义。 如果我用第二行替换: $(‘#quotes’).html(“”); 部分渲染,但我当然不需要它。 如何将javascript变量sym传递给部分_googlequote.html.erb? 否则,有没有更好的方法来实现我的目标?

:remote => true / data-remote在通过ajax加载的表单上

在我的Rails应用程序中,我有一个使用jQuery加载方法通过Ajax加载的表单。 function load_sales_form(product_id) { $(“#sales_form”).load(” :show_sales_form) %>”/ + product_id); } 加载的表单有一个form_for标记,其中包含:remote => true选项,它会将data-remote =“true”属性添加到表单中。 但是,当用户单击“提交标记”按钮时,不会使用Ajax提交表单。 如果表单以标准的非ajax方式加载,它可以正常工作,但是在文档准备好之后通过ajax加载表单,不使用ajax提交,它提交为标准表单。 从我到目前为止所研究的情况来看,这是因为rails.js文件(其中包含允许通过ajax提交数据远程表单的内容)不会将其function应用于通过ajax加载的html内容。 是否可以强制rails.js文件将其function应用于通过Ajax加载的内容?