Tag: ruby on rails 3

Rails 3 – 渲染部分js.erb

我有一个简单的搜索表单,看起来像: 应用程序/视图/搜索/ index.html.erb :search, :remote => true, :url => {:action => “query”}, :html => {:id => ‘search-form’} do |f| %> … <% end % *应用程序/控制器/ search_controller.rb * def index @search = SearchCriteria.new end def query @search = SearchCriteria.new(params[:search]) # otherwise, perform search… @summaries = do_search @search respond_to do |format| format.js end end 然后我有一个js.erb模板:* app / […]

在文档就绪未提交后,通过Ajax加载Rails远程表单

我有一个使用form_tag的远程表单和:remote => true ,从部分加载。 当我像往常一样通过自己的视图加载表单时,它按预期工作。 然而,在文档准备好之后,我尝试通过AJAX在另一页上加载部分。 当我尝试提交此表单时,没有任何反应。 我已经尝试了一个常规的提交按钮并调用form.submit() 。 是否有一些javascript初始化到Rails做的远程表单,我必须复制? 或者还有其他事情发生在这里?

我如何读取由jquery设置的rails中的cookie

我在这样的jquery中设置一个cookie(工作正常,生成cookie): $(document).ready(function() { var consp = $(“input[home]”).attr(“home”); $(“input[name=’commit’]”).click(function() { $.cookie(‘home’, consp); }); }); 在我的控制器中,我试图获得cookie值。 所以我正在使用像这样的标准读取cookie def some_method @value = cookies[:home] end 但是当我输出@value的值时,不会返回任何内容。 只有在我使用jquery设置cookie时才会发生这种情况,但是如果我直接通过rails设置cookie(没有jquery)就不会发生这种情况。 有没有想过为什么会这样? 谢谢

如何在Rails3中选中或取消选中复选框时触发ajax调用?

在我的Rails3应用程序中,我有一组复选框用于列出任务。 我想在选中或取消选中其中一个复选框时,将ajax调用重新启动回服务器。 此代码是更大forms的一部分: { :controller => “tasks_assigned”, :action => ‘update’ }, :remote => true do |t|%> task_assigned.id %> task_assigned.provider_completed, :onclick => “$(this).parent().trigger(‘submit.rails’);” } %> <%= t.label :provider_completed, task_assigned.task_desc.gsub(/(\n\r|\r\n|\n)/, '’).html_safe, :style => “color: #666666; margin-top: 0px;” %> 这是生成的html: abc Provider completed abc 如果我在表单中添加一个提交按钮,它没有任何问题,但这看起来不太吸引人。 ‘onclick =“$(this).parent()。trigger(’submit.rails’);”’是检查复选框时触发rails提交代码的徒劳尝试。 从未找到父(表单)。 生成javascript错误“对象#没有方法’父级’”。 我相信我非常接近弄明白,但我显然错过了一些东西。

Rails已完成406不可接受

我不知道这里到底发生了什么,我刚刚将我的rails从3.1.0rc4更新到3.1.0,我突然发现所有的ajax都不起作用,它一直导致406错误。 在更新到3.1.0之前,一切都很好 伙计们,我现在将失去控制,帮助我。

动态添加其他文本输入字段后,jQuery自动完成失败

**更新**我将HTML id改为了类。 并将建议纳入当前的最佳答案。 自动完成function现在可以使用,但自动完成选项列表无法成功显示动态加法文本输入字段。 它虽然适用于原版。 我在下面添加了更新的代码。 我刚刚在我的Rails应用程序中将jQuery UI自动完成添加到表单中。 该function工作正常但是当我动态添加具有相同类的另一个输入字段时它不起作用? Add ingredient 动态添加其他字段后,原始字段的自动完成function将继续工作,不会出现任何问题,但新添加的字段的自动完成function不起作用。 如果输入字段全部共享相同的ID,为什么动态添加字段的自动完成function会失败? 的application.js $(document).ready(function(){ $(“.addNewIngredient”).on(‘click’, function(e){ e.preventDefault(); $(“.ingredientField”).append($(“#new_ingredients_form”).html()); $(“.select_ingredient”).autocomplete({ minLength: 2, source: ‘/ingredients’, focus: function(event, ui) { $(‘.select_ingredient’).val(ui.item.name); return false; }, select: function(event, ui) { $(‘.select_ingredient’).val(ui.item.name); $(‘.link_ingredient_id’).val(ui.item.id); return false; } }) .data( “ui-autocomplete” )._renderItem = function( ul, item ) { return $( “” ) […]

如果检测到移动浏览器,是否有“rails”方式重定向?

我想运行用户代理检查,但只在我的主页上(static_controller #home)我仔细查看了代码: http : //www.arctickiwi.com/blog/mobile-enable-your-ruby-on -rails-site-for-small-screens并且它看起来很接近,但它永远不会捆绑在一起,它只是方法创建……我对jquery方法开放,但更喜欢ruby / rails而不是js。 我只关心iphone和机器人……

Ajax追加问题

我有一个分页的评论模型,我希望评论只要点击下一个按钮就可以在同一页面上加载更多评论。 我对如何做到这一点有点了解,但任何人都可以建议如何去做。 我已经有了一些代码。 对于评论部分而不是渲染我认为它可能必须寻找微博及其id以找到要附加的正确评论,但我不确定如何将所有这些结合在一起。 分页JS $(function() { $(“#CommentPagin a”).live(“click”, function() { $.getScript(this.href); return false; }); }); 显示JS $(“#cc”).append(‘ “users/comments” )%>’); 评论部分 5, :page => params[:page]) %> false , :class =>”pagination” %> 评论渲染部分 5, :page => params[:page]) %> 用户控制器 def show @user = User.find(params[:id]) @school = School.find(params[:id]) @comment = Comment.find(params[:id]) @micropost = Micropost.new @comment = Comment.new […]

限制向用户显示的评论数量的好方法是什么,直到他们选择查看全部?

目前,模板中的每个循环都显示注释的位置。 假设用户对他们发布的微博有50条评论。 将显示一个显示50条评论的长列表。 为了节省页面空间,我决定将每个微博的评论限制为2-3。 如果用户希望查看更多内容,则可以单击“查看更多”或“查看全部”。 我想知道服务器如何应对如果有10,000条评论和用户点击“查看全部”这就是为什么我可以选择实施“查看更多”然后再显示50条评论“ 无论如何,我想知道一种很好的方法来限制显示给用户的评论数量,直到他们选择查看全部? 如果我去jquery / js路由并且这样做只有2-3个最新的消息被显示,其他的仍然被加载回来结束不会他们所以不会更好的选择是在ruby on rails上控制它不知何故? 我真的很喜欢一些很好的解决方案/信息,以最好的方式来做到这一点。 您需要的任何进一步信息我很乐意提供。 谢谢亲切的问候

喜欢/不喜欢没有Ajax或jQuery on Rails

我正在尝试实现一个简单的喜欢/不同的function。 我在这里看到的所有例子似乎都适用于ajax或jquery。 我还是初学者,我还没有完全理解,我只想要一个简单的解决方案。 我的想法是,我有书,我有用户。 用户可以喜欢书籍。 所以我通过Like模型创建了一个多对多的关联。 Like模型具有相应的数据库,其中包含book_id和user_id列。 从而: class Book < ActiveRecord::Base has_many :likes has_many :users, through: :likes class User < ActiveRecord::Base has_many :likes has_many :books, through: :likes class Like < ActiveRecord::Base belongs_to :book belongs_to :user end 不幸的是,这是我的理解。 我不知道如何利用这种关系来创建喜欢并将它们与相应的书籍和用户相关联。 我的想法是,如果用户不喜欢这本书,则向用户展示“喜欢”按钮,或者如果他没有喜欢,则为用户提供“喜欢”按钮。 所以基本上,我想要这么简单: 我使用了#stub,因为我不知道它应该使用什么路由。 但无论解决方案是什么,我都希望它重定向到相同的页面,闪存通知说“喜欢”或“不喜欢”。 我已经为like_button和different_button类提供了div背景图像,这就是我将它们作为上面的图像链接实现的原因。 任何forms的指导或帮助,将深表感谢。 谢谢 UPDATE 我在下面跟随Bennick的指导,但我仍然坚持使用rails控制台。 我认为如果我在控制台中出现错误,那么前进是没有意义的。 如建议的那样,我在控制台中尝试了这个: 由于我已经有用户,我做了user = User.find(1)和book = Book.find(1) […]