Tag: ruby on rails

如何禁用列表的第一项可排序和删除目标

我有一个项目列表,我想让列表中的第一个项目不可移动且不可移动。 列表中的第一项应始终作为列表中的第一项。 但是,我似乎无法让它工作。这是我的排序代码: jQuery -> $(‘#lineup’).sortable( axis: ‘y’ items: “.ui-state-enabled” cancel: “.ui-state-disabled” update: -> $.post($(this).data(‘update-url’), $(this).sortable(‘serialize’)) ); 我正在使用content_tag_for来加载它: %ul.nav.nav-tabs.nav-stacked#lineup{“data-update-url” => sort_lineups_url} – @pieces.each_with_index do |piece, index| – if index == 0 = content_tag_for(:li, piece, :class => ‘ui-state-disabled’) do = link_to “#{(index + 1).to_s + ‘ – ‘ + piece.name}”, ‘#’ – else = content_tag_for(:li, piece, […]

在Rails中安装jQuery 3.2.13

我无法让jQuery在Ruby on Rails 3.2.13上工作。 我查看了教程,搜索了youtube等等,但仍然无法让它工作。 更具体地说,我在使用jQuery ui时遇到了麻烦。 我无法让手风琴小部件工作。 我甚至无法获得简单的jQuery(如显示hello警告消息)来处理ROR。 非常感谢您的帮助。 谢谢! 这是我的application.html.erb文件: TestProj “all” %> 这是我的gem文件: source ‘https://rubygems.org’ gem ‘rails’, ‘3.2.13’ # Bundle edge Rails instead: # gem ‘rails’, :git => ‘git://github.com/rails/rails.git’ gem ‘sqlite3’ # Gems used only for assets and not required # in production environments by default. group :assets do gem ‘sass-rails’, ‘~> […]

remote:用于执行新操作的form_for的true选项,但不是create action

更新: 这已经解决了! 这是一个困难的,因为它根本不容易调试。 但是注意到我在表单标签中有一个表单标签,我亲切的“回答者”指出,无论这是否是问题的根本原因,都需要修复。 请记住,我同意他的说法, nested attributes绝对是这个方法的一部分,但是因为这是一个学校项目,我现在选择将内部forms移到外部forms之外它按照我的预期行事。 这涉及到更改下面看到的一些代码。 但我不会发布新代码,因为我再次同意nested attributes是这种情况下的方法。 当我有空的时候,这将成为我这个项目的下一个目标。 原始问题: 我正在使用Rails 4,我有这样的嵌套资源: resources :data do resources :todo_items end 在datum对象的编辑页面中,我打算让用户能够通过ajax将todo_item添加到datum对象。 当您单击“添加待办事项”按钮时,我的表单用于创建新的todo_item ,并且在填写必填字段后,用户可以单击添加,我打算发出另一个请求,以显示todo_item作为部分,包括一个复选框,供用户显示是否完整。 新表单很好,但是当我单击添加按钮以显示新创建的todo_item时,我收到一个ActionController::UnknownFormat错误。 这是我正在使用的代码: 应用程序/视图/数据/ _form.html.erb … … 应用程序/控制器/ todo_items_controller.rb class TodoItemsController < ApplicationController def new @datum = Datum.find(params[:datum_id]) @todo = TodoItem.new respond_to do |format| format.js end end def create @datum = Datum.find(params[:datum_id]) @todo […]

jQuery没有在Rails 3.2.8上工作

我在Rails 3.2.8上遇到了jQuery的问题。 我已经安装了jquery-rails gem,我的application.js有以下内容: //= require jquery //= require jquery_ujs //= require_tree . views / layouts / application.html.erb有 test.js中的一个简单的Javascript测试: if (jQuery) { alert(‘Jquery is loaded’) } else { alert (‘Jquery is not loaded’) } 给我一个警告,告诉我jQuery确实已加载。 但是,没有jQuery命令可以工作,即使是基本的命令也没有响应: $(document).ready(function(){ $(“a”).click(function(event){ alert(“Thanks for visiting!”); }); }); 我已经尝试了一切 – 甚至通过Google API重新使用jQuery。 关于可能发生的事情的任何想法?

如何从控制器向jQuery发送json响应并检查它?

我有这个问题:我正在检查控制器中的用户电子邮件并发送json成功响应,如果已经采取并添加输入的CSS样式,我也需要阻止提交并添加一些消息。 这是我的checkemail行动(使用这篇文章 – http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery ): def checkemail if !User.where(’email = ?’, params[:email]).empty? format.jsonr do render :json => { :status => :ok, :message => “Success!”, }.to_json end end end 在我的路线: checkemail GET /checkemail(.:format) match “/checkemail”, to: ‘edit_user#checkemail’ 和我的jQuery: $(‘#user_email’).focusout(function() { $.getJSON(‘/checkemail’, { email: $(‘#user_email’).val() }, function(data) { $(‘#user_email’).addClass(“error”); }); }); 我的HTML输入代码: 来自mime_type初始化文件: Mime::Type.register_alias “application/json”, :jsonr, %w( […]

如何修复AJAX总是在复选框时触发?

有时候这个AJAX会发生火灾,有时却没有,让我解释一下。 habit.js $(document).ready(function() { $(“.habit-check”).change(function() { habit = $(this).parent().siblings(“.habit-id”).first().attr(“id”); level = $(this).siblings(“.level-id”).first().attr(“id”); if($(this).is(“:checked”)) { $.ajax( { url: “/habits/” + habit + “/levels/” + level + “/days_missed”, method: “POST” }); } else { $.ajax( { url: “/habits/” + habit + “/levels/” + level + “/days_missed/1”, method: “DELETE” }); } }); }); 它只在我加载显示页面并刷新后触发,以便终端看起来像这样: Started GET “/habits/1” for […]

未捕获的ReferenceError:$未定义rails

我正在尝试将Froala编辑器添加到我的项目中。 问题只在生产服务器上(在localhost上工作正常)我正在使用rails 4.1.0在gemfile中我有 gem ‘jquery-rails’ 在我的assets / javascripts / application.js中: //= require jquery //= require jquery_ujs //= require foundation //= require turbolinks //= require_tree . //= require modernizr //= require froala_editor.min.js 在new.html.erb文件中: Title Content ‘content’ %> $(function() { $(‘div#content’).editable({ inlineMode: false }) }); 在application.html.erb中: true %> true %> 在这种情况下,结果是: Uncaught ReferenceError: $ is not defined […]

地理定位在Windows 7 / XP上的Safari 5.x上无效

我正在开发一个使用W3C标准地理位置API的应用程序,但我不能在我的生活中让它在我的Windows 7和XP PC上运行Safari。 它在我的iPad和iPhone上运行良好。 它也适用于Chrome(5,6,7和Canary版本)以及Firefox(3.6)。 我没有Mac,所以我不能测试它。 IE不支持地理定位,因此也涵盖了。 我创建了一个精简版本,我将其托管在Google Apps Engine上,以便您查看代码: http : //html5-geolocator.appspot.com/ 。 所有(简化的)javascript都在html中,因此您应该能够右键单击并调试/查看源代码。 这几乎是Google Map API DevGuide上示例的直接转换。 有趣的是,谷歌托管的示例在Windows 7上的Safari 5.0.x中也不起作用(但它们在所有其他平台上运行正常,与我的应用程序相同),例如http://code.google.com/ apis / maps / documentation / javascript / examples / map-geolocation.html展示与我的APP完全相同的问题,没有地图出现,网页只是保持灰色。 通过一些调试(警报(“我在这里”):-)似乎在Safari中,它确实执行了navigator.geolocation.getCurrentPosition(myCallback),但它似乎永远不会到达myCallback ……好像它永远不会从getCurrentPosition返回。 我还看到,如果我在一夜之间打开浏览器窗口,当我早上回到它时,警报和地图已经出现(虽然并非总是如此)。 我还尝试添加了一个errorCallback navigator.geolocation.getCurrentPosition(myCallback,errorCallback),但它也从未执行过,再次暗示它永远不会从getCurrentPosition调用返回。 有人想知道为什么会这样吗? 编辑:刚做了一些测试,我添加了超时选项(navigator.geolocation.getCurrentPosition(myCallback,errorCallback,{timeout:5000});),实际上它一直在超时,无论我设置多高所以它永远不会从谷歌地理定位服务返回,但为什么???

Rails 3.1,jQuery UI无法加载

我正在使用Rails 3.1并且jQueryUI库存在问题。 这是我的application.js文件: //= require jquery //= require jquery-ui //= require jquery_ujs // Loads all Bootstrap javascripts //= require bootstrap //= require rails.validations //= require_tree . 它将“jquery ui”文件加载到浏览器中,但无论我使用什么相关它都显示此错误: TypeError: Object function (a,b){return new d.fn.init(a,b,g)} has no method ‘dialog’

成功上传后显示上传的图像

我在Magnific Popup(灯箱)里面使用了Carrierwavegem。 我想要做的是, 在上传图像后,它将显示新上传的图像。 目前,从灯箱上传图像后,它将继续显示您最初查看的图像,并显示成功上传图像的“成功”消息。 当前设置是用户点击一张照片,该照片将打开带有图库照片的灯箱。 在灯箱内,您可以删除当前照片,上传新照片或将其设为您的头像。 photos.js.coffee: jQuery -> $(‘form#new_photo’).fileupload dataType: “script” add: (e, data) -> file = data.files[0] data.context = $(tmpl(“template-upload”, file)) $(‘#new_photo’).append(data.context) data.submit() progress: (e, data) -> if data.context progress = parseInt(data.loaded / data.total * 100, 10) data.context.find(‘.bar’).css(‘width’, progress + ‘%’) stop: (e, data) -> $(‘.upload’).hide() 照片控制器: def create @photo = Photo.create(params[:photo]) […]