Tag: ruby on rails 3

Rails 3.2 jQuery可排序列表500错误与嵌套资源

在关于可排序列表的Railscasts剧集之后( http://railscasts.com/episodes/147-sortable-lists-revised?view=asciicast ),我已经掌握了所有内容,而不是在#show的模型上进行排序action正在显示列表,它是一个嵌套模型。 我的网站是为了管理一个非常复杂的梦幻足球联赛。 联盟的一个方面是,通用汽车有年薪限额,球员有价值,球员可以签订多年合同。 无论如何,我正在创建一个选秀名单,让你添加球员并跟踪你想要尝试和选秀的球员。 我希望这个列表可以排序。 我使用has_many:through关系进行设置。 以下是三种型号: class DraftRoster < ActiveRecord::Base attr_accessible :name, :team_id belongs_to :team has_many :roster_spots has_many :players, through: :roster_spots … end 然后: class RosterSpot < ActiveRecord::Base attr_accessible :draft_roster_id, :player_id, :position belongs_to :draft_roster belongs_to :player acts_as_list end 最后(这里有很多代码被移除,因为它不适用于这个问题): class Player < ActiveRecord::Base attr_accessible :auction_value, :first_name, :last_name, :nfl_team, :position, :is_drafted, :is_bought_out, :is_extended, […]

修改设计警报(Rails 3)

我在我的rails应用程序中使用设备,它带有自己的警报/闪光助手。 我修改了它,看起来像这样 “flash #{key}”) %> 我想要做的是能够通过顶角的X关闭此警报,而不是刷新页面使其消失。 我创建了一个带有css / jquery的警告框,并围绕上面的代码包围了相关的div,但是当它在布局/应用程序文件中时,它总是在页面加载时可见 如果它有帮助,这里是CSS和Jquery $(function() { $(‘.close’).click(function(){ $(‘.myDiv’).fadeOut(“fast”); }); .close { background:red; font-weight:bold; padding:5px; cursor:pointer; display:inline-block; } .myDiv { padding:10px; background:#ccc; width: 200px; margin:0 auto; height:50px; }

在jQuery / Coffeescript中延迟ajax调用

这是一些粗略的javascript / jquery / coffeescript,在延迟后会在页面下部的DIV中滑动。 我正在使用rails,因此我也会点击一个端点,该端点会为特定幻灯片增加数据库中的视图计数器。 jQuery -> $(“div[data-slide=’true’]”).delay(20000).animate({opacity: 1,right:’+=350′},1350, ‘swing’); id = $(“div[data-slide=’true’]”).data(“slide-id”) $.ajax({url: “http://localhost:3000/firefly/slides/” + id + “/increment”, type: “post”}); $(“div[data-close=’true’]”).click -> $(“div[data-slide=’true’]”).clearQueue().animate({opacity: 0,right:’-=350′},500, ‘easeOutBounce’); 我知道这不是最好的javascript,我真的是JS的新手 – 但我现在的问题是我无法弄清楚如何延迟ajax调用所以它只会在幻灯片播放时点击端点动画。现在,当DOM完成加载时,它会到达终点并递增计数器。

带有nested_forms Gem的jQuery UI DatePicker

我看过这个,但这并没有解决我的问题,但情况也是如此。 jQuery加载得很好。 这是我的’nested_form’: ‘event_date’ %> “remove_task” %> 这是JS: jQuery(document).ready(function($) { $(‘.event_date’).each(function() { $(this).datepicker(); }); }); 最后这是生成的html。 您可以看到jQuery UI为DatePicker添加了它的类(hasDatepicker): 任何帮助将不胜感激。 谢谢!

Ruby rails – jquery auto complete – 为列表项组合多个值

如何解析rails实例变量的值以创建jQuery的自动完整列表? 所以我的’/ user / search’返回一个实例变量,每个项目有多个值。 我想把它们组合起来作为列表项目。 def search if (params[:term] =~ /[a-zA-Z]/) @result = User.FindLdap(“sAMAccountName”, params[:term]) else @result = User.FindLdap(“idnumber”, params[:term]) end respond_to do |format| format.html { render :partial => ‘text_for_autocomplete’} format.js end end 我正在使用jQuery的示例代码,但它有一种方法来显示每个项目列表。 在我的情况下,我检索多个ldap属性,我想显示每个列表项的属性值。 所以每个列表项应该像””#{sAMAccountName}”, “#{idnumber}””用逗号分隔,而不仅仅是在文本字段中输入的idnumber的值。 $(function() { $(“#term”).autocomplete({ source: function (request, response) { $.post(“/users/search”, request, response); }, minLength: 2, select: function( event, […]

如何使用gon访问变量属性(在jQuery和Rails中)

我最近指出gon将变量从我的控制器传递到页面上可用的javascripts。 假设我传递了一个变量@note,它具有属性location,content和tags(关联标签)。 如何在jQuery文件中访问这些属性? 如果我做: alert(gon.note) 我收到警告[对象] [对象] 我想访问内容以输出字符串即 var string = gon.note.content gon.note.content不起作用。 有什么指针吗?

第二次提交表单,呈现前一个部分以及当前部分

我通过以下方式提交单个文本区域表单:remote => true。 它工作得很好,但是如果我在没有重新加载页面的情况下提交表单两次,则会将部分渲染3次。 在第一次提交后,如果我输入新文本并再次提交,则会加载上一个部分以及当前部分,从而产生3个提交。 它只提交到数据库两次,在页面刷新其中一个消失。 我的控制器看起来像这样: respond_to do |format| format.html { redirect_to(return_to) } format.js end 而我的这是我的js: $(‘.comment_form’).bind(‘ajax:success’, function(){ $(this).closest(‘.post’).children(‘.comment_container’).prepend(” ‘public/comment’, :object => @comment) %>”); $(‘.notice’).html(‘New Comment Added’); $(this).children(‘:input’).val(”); $(this).closest(‘.comment_form_div’).slideUp(); return false; }); 我只包括jquery和jquery-ujs一次,我尝试设置$.ajaxSetup({cache:false}); 但无济于事。 有没有其他人遇到这个问题?

jQuery“return false”适用于1.6版但不适用于1.6.1(rails 3)

以下代码用于在不尝试使用jQuery verion 1.6呈现新模板的情况下运行。 我安装了jQuery 1.6.1,现在单击一个单选按钮导致尝试呈现新页面。 仅供参考,表格是在每次点击时提交的,因为相当多的客户会完成部分问题,关闭浏览器并希望他们的工作在他们回来完成时就在那里。 如果有更好的方法,我很想知道。 在开发机器上的application.js中: $(‘.submittable’).live (‘change’, function() { $(this).parents(‘form:first’).submit(); return false; } ); 同样,这适用于jQuery 1.6但不适用于1.6.1。 我以本教程为指导。 任何帮助表示赞赏。 更新: 这里继续这个问题。

Rails 3 / jquery / ajax – 我可以更改此项以提交一个答案而不是整个表单吗?

我很感激帮助我在这里通过诊断过程蜿蜒前行的人们。 我重写了我希望将继续使用未来版本的jQuery的代码。 不过,我担心的是两件事: 我编写了一些其他东西会回来并咬我的尾巴吗? 相当多的客户完成了部分问题,关闭浏览器并希望他们的工作在他们回来完成时就在那里。 因此,每次单击单选按钮(100多条记录)时,都会提交整个表单。 我想知道是否有可能在这里为每个问题创建一个表单而没有收到回复。 有没有办法一次提交一个答案而不是整个表格? 视图: true do %> <input "” class=”submittable” name=”answer[]” type=”radio” value=”” /> application.js中: $(‘.submittable’).live(‘change’, function() { $(this).parents(‘form:first’).submit(); return false; } ); 控制器: def update_result params[:answer].each_pair do |key,value| @ans = Answer.find(key.to_i) @ans.update_attributes(:score => value) end end _index.js.erb: $(“#answers”).html(“”); 谢谢!

jQuery fileupload插件成功回调

我使用jQuery文件上传插件(https://github.com/blueimp/jQuery-File-Upload)在rails中同时上传多张图片。 照片附加到项目模型,项目将添加到投票中。 使用插件: $(document).ready(function(){ $(‘#fileupload’).fileupload({ url: ‘/polls’, dataType: “json”, done: function(e,data){ window.location = “/polls/” + data.result.id; } } }); 期望在每个照片文件的轮询控制器中调用创建操作,并重定向页面以在上载所有文件后显示创建的轮询。 但是,例如,当选择上传6个文件时,它首先仅在投票页面中显示4张照片。 刷新页面后,显示6张照片。 我猜这个问题是由回调函数引起的。 似乎在上传所有文件之前将其重定向到民意调查页面 完成了。 所有上传请求都应该成功发送,但这些项目并非全部创建(回形针可能需要几秒钟来处理图像)。 我有什么建议可以解决这个问题吗? 谢谢 编辑:检查实际上是否为每个成功的http请求调用了“完成”回调函数。 在发送所有请求后没有调用它。 并为每个照片文件调用了创建操作。 如何才能在客户端或服务器端上传所有文件后才能回调?