Tag: ruby on rails

使用HTTP PUT通过Jquery和Rails 3发送JSON

HTTP PUT并不完全是跨浏览器,因此Rails(我使用的是Rails 3)支持使用POST并传递_method查询参数。 这很好,但在发送JSON时它似乎不起作用。 例: $.ajax({ url: window.location.pathname, type: ‘POST’, contentType: ‘application/json’, data: JSON.stringify({_method:’PUT’, page:{my_data: 1}), dataType: ‘json’ }); 当Rails看到这个时,它不会识别’_method’覆盖,因为它以JSON格式传递(也许转换是稍后的?)。 Rails返回错误“没有路由匹配…”说它找不到路由(到资源),我假设因为它与REST update = HTTP PUT动词不匹配,我甚至尝试将此附加到URL: ?_method=PUT但得到了相同的结果。 唯一可行的方法是设置HTTP标头: $.ajax({ url: window.location.pathname, type: ‘POST’, contentType: ‘application/json’, data: JSON.stringify({my_data: 1}), dataType: ‘json’, beforeSend: function(xhr){ xhr.setRequestHeader(“X-Http-Method-Override”,”put”); } }); 设置HTTP覆盖标头是最好的方法吗?

rails,使用咖啡脚本获取语法错误

我正在尝试使用jquery ui库在rails中执行自动完成function。 但是我继续得到语法错误“语法错误:保留字”function“在线……” 这是我的lessons.js.coffee文件 jQuery -> $(function() { function split( val ) { return val.split( /,\s*/ ); } function extractLast( term ) { return split( term ).pop(); } $( “#lesson_tag_name” ) // don’t navigate away from the field on tab when selecting an item .bind( “keydown”, function( event ) { if ( event.keyCode === $.ui.keyCode.TAB […]

如何构建优雅降级的HTML5范围?

我想将HTML5中的用于支持它的浏览器,如果没有,则降级为 。 我正在使用Ruby-on-Rails,所以其他方面都失败了,我可以在服务器端做类似的事情。 不过,我更喜欢通过Javascript进行渐进增强的想法。 如果它是JQuery,奖励积分。

Rails 3.1,资产管道和生产模式中的IE 6和7 – 一些CSS和js没有正确加载

在生产模式下试用我的Rails 3.1应用程序(Debian 6,Ruby 1.9.2,Passenger)。 我尝试使用IE 6和IE 7,并且一些资产未正确加载。 开发模式下一切正常。 有些css&js没有正确加载,你正在编译所有文件。 特别是我遇到了下拉菜单问题(jquery superfish菜单)。 在生产和开发中,IE8,IE 9,Firefox,Chrome中的一切都运行良好。 该问题仅出现在生产中的IE 6和7中。 尝试清除缓存(在浏览器和服务器上)。 重新编译资产。 什么都看不到帮助。 有没有人碰到任何东西 – 像那样?

Rails,jQuery,.js.erb文件,JS不是由浏览器执行的

我正在尝试使用jQuery,一切都很棒,直到现在,当我试图渲染部分并将其附加到div时。 以下是我设置的方法: 我有一个响应js的动作: def index @objects = Object.find(:all) respond_to do |format| format.js end end 还有一个名为index.js.erb的模板,里面有一些javascript: alert(“hello world”); Firebug返回“text / javascript”响应,其中包含: alert(“hello world”); 但是没有出现警报窗口,也没有任何其他JavaScript工作。 我检查了http://railscasts.com/episodes/136-jquery并且或多或少跟随。 我尝试了其他一些东西,比如使用.rjs而不是.erb并将它放在我的模板中: page.alert(“hello world”); 但我得到了相同的结果,浏览器从不执行JS。 任何人都知道为什么JavaScript没有被执行? 我正在运行Rails 2.3.4。

使用rails 4,邮件表单和ajax发送电子邮件?

我正在开发一个有联系表格的应用程序。 它是一个单页应用程序,我在后端使用rails,并在前端使用angular(不是表单)和bootstrap。 我正在尝试使用ajax,所以我不必刷新页面。 当我让它使用rails(使用Mailform)提交时,它看起来像是在工作。 当我进入console并输入; c = Contact.new(:name => “name”, :email => “email@email.com”, :message => “hi”) c.deliver 在控制台,我得到; Rendered vendor/bundle/gems/mail_form-1.5.0/lib/mail_form/views/mail_form/contact.erb (2.9ms) MailForm::Notifier#contact: processed outbound mail in 29.2ms Sent mail to [EMAIL] (5.1ms) Date: Fri, 25 Jul 2014 14:52:20 -0700 From: Name To: [EMAIL] Message-ID: Subject: Onyx Contact Form Mime-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit […]

从jquery和haml中渲染出局部

我计划的function是根据从select标签中选择的数字插入一些表单元素。 我有一个名为number_of_passengers的选择标签,我计划为所选数字动态附加新的乘客字段。 假设我从number_of_passengers中选择2,那么2个表单应该出现在fieldset中。 这些表格包含姓名,年龄等。 我试着这样做: 从jquery调用rails函数? 并且只是将它转换为haml-speak但是每当我使用:javascript标记时我都会收到错误。 我也不认为一旦我进入javascript标签就可以“逃脱” :javascript $(‘#number_of_passengers’).change(function() { var $num_of_passengers = $(this).val(); for($i=0; $i<$num_of_passengers;$i++) { $('.passenger-info ul').append(' “new_passenger”, :locals => {:booking => @booking }) %>’); } }) 因为我在form_for中,如何将@booking变量传递给本地? 这看起来真的很复杂,而且我打算从循环20次(20个最大乘客)中做出肮脏的方式,然后根据所选的数字隐藏/显示它们。 但那太脏了你不觉得吗?

在Rails中显示Flash通知的最佳方法

我在Rails和Devise中使用通知,并想知道显示它们的最佳方式是什么? 在我的应用程序中,我也有它,所以当用户保存post时,它使用Ajax保存它,我使用jQuery显示通知。 对于我使用的所有通知: <div class="message" id="”> x 代码是: $(“#notice”).html(“Saved.”); 我希望它是一个闪光通知,以便它从顶部向下滑动,几秒钟后,它再次向上滑动。 由于我在保存post而不使用Rails通知时使用jQuery作为通知,这意味着我必须在应用程序中使用 以及flash.each 。 html.erb文件。 我可以将它们全部添加在一起,所以我只使用一个通知并让它从顶部向下滑动,然后在几秒后滑出路径?

我在使用event.preventDefault()时遇到问题; 对于我的DOM上的ahref

我在使用event.preventDefault();遇到问题event.preventDefault(); 对于我的DOM上的ahref 。 如何防止url发布nofollow删除,如使用JQuery的HTML指定的那样? 以下代码应该颠覆HTML,但HTML会在发出“你确定”警告之前发布删除操作。 没有什么不起作用: $(function(){ $(‘.trash_can a’).click(function(event) { event.preventDefault(); console.log(‘Clicked Delete’); }); });

如果使用jQuery添加字段,则Rails嵌套表单属性不会保存

我有一个嵌套forms的rails表单。 我使用了janery教程的Ryan Bates嵌套表单,并且我在动态添加新字段时工作得很好。 但是当我提交表单时,它不会保存任何相关属性。 但是,如果表单加载时部分构建,则创建属性就好了。 我无法弄清楚在没有传达表单对象需要保存的javascript中没有传递的内容。 任何帮助都会很棒。 class Itinerary < ActiveRecord::Base accepts_nested_attributes_for :trips end 行程/ new.html {:class => “new_trip” } do |f| %> @move.id %> builder %> application_helper.rb def link_to_remove_fields(name, f) f.hidden_field(:_destroy) + link_to_function(name, “remove_fields(this)”) end def link_to_add_fields(name, f, association) new_object = f.object.class.reflect_on_association(association).klass.new fields = f.fields_for(association, new_object, :child_index => “new_#{association}”) do |builder| render(association.to_s.singularize, :f => […]