Tag: ruby on rails

Rails – ajax选择菜单只触发一次?

我知道这个问题被问了很多,但没有一个解决方案有帮助。 我有一个第一次没有问题的选择菜单,但在页面重新加载之前不会再次执行。 这是部分内部的: true, :html => {:id => ‘report-edit-status’} do |f| %> @report.id %> “status-change-selector”, :style => “font-size:1.1em;”) %> 这是Application.js: $(‘.status-change-selector’).unbind(‘change’); $(‘.status-change-selector’).change(function(event) { event.preventDefault(); $(this).closest(‘form’).submit(); }); Update.js.erb $(‘.dynamic’).html(” ‘reports/status_selector’)).html_safe %>”); 编辑: 根据Peter Goldstein的建议,我在Parent元素中添加了一个监听器,因此我不需要将Jquery代码添加到Update.js.erb中。 这就是我现在在Application.js中的内容: $(‘.dynamic’).on(‘change’, ‘.status-change-selector’, function(event) { event.preventDefault(); $(this).closest(‘form’).submit(); });

Rails 5,简单的javascript与表单提交

我希望有人可以帮助我。 在这几个小时,但似乎无法弄清楚为什么我的Javascript不能在我的简单表单上工作。 我只是试图使用ajax调用显示注释。 我在我的application.js文件中有gem’jquery-rails’,并且需要jquery和jquery_ujs。 这是我到目前为止的代码: 我有一个有很多评论的Joy模型。 <ul id="comments-“> true}) do |f| %> ‘form-control’, :required=>’true’ %> $(document).ready(function() { $(‘[data-js-comments-]’).on(“ajax:success”, function(event, data, status, xhr){ $(‘#comments-‘).append(xhr.responseText); }); }); 在我的评论控制器中,在我的“创建”操作中,我有: if @comment.save render partial: “comment”, locals: {comment: @comment} end 在我的评论视图中,我创建了一个名为_comment.html.erb的部分: 所以,现在当我输入评论并点击“发表评论”时,它会正确保存我的评论,但它不会将评论加载到列表中。 此外,表单也不刷新。 文本保留在文本框中。 不仅在我刷新页面之后,当我的评论显示在列表中时。 任何人对我错过或做错了什么都有任何想法? 我们非常感谢您的帮助。

Rails:nil的未定义方法`model_name’:NilClass

如何创建单独的页面,同时仍能从控制器和模型中获取用户信息? 例如,我想拥有单独的页面,但仍然使用产品控制器中的相同信息。 views / product / order.html.erb 然而,当我添加一个simple_form_for时,我得到一个错误 基本上我想要的是一个提交产品信息的separte页面。 如果不是,我很乐意在同一页面内做到这一点并拥有像这样的旋转simple_form,而无需创建多个页面。 http://malsup.com/jquery/cycle/ 例: products_controller.rb class ProductsController < ApplicationController before_action :set_product, only: [:show, :edit, :update, :destroy] def index @products = Product.where(availability: true) respond_with(@products) end def show end def new @product = Product.new end def edit authorize! :manage, @product end def create @product = current_user.products.new(product_params) @product.save respond_with(@product) end […]

formValidation jquery插件不读取rails安全表单名称

我使用formValidation插件来validation我的Rails 4表单。 根据这个问题 ,我不得不将我的字段“名称”从’name =“firstname”’更改为’name =“user [firstname]”’,以便表单正确提交。 但是,formValidation插件依赖于使用字段的“名称”而不是字段的“id”来运行validation代码。 如果字段的名称是“firstname”,我可以使formValidation工作,但如果名称是“user [firstname]”则不能。 有没有办法使用括号在Javascript(这里是新手)写一个“名称”值? 这是我的表格。 我试过了 resource_name, id: ‘new_user’, :url => registration_path(resource_name)) do |f| %> ‘user[firstname]’, :class => ‘form-control’, :autofocus => true, :required => true, :placeholder => ‘FIRST NAME’ %> ‘user[lastname]’, :class => ‘form-control’, :autofocus => true, :required => true, :placeholder => ‘LAST NAME ‘ %> ‘user[email]’, :class […]

为什么没有在这里触发ajax请求?

所以我有一个自动填充字段,用户可以在其中选择现有标签或创建新标签。 如果用户创建新标签,则按下表单按钮,它会向video控制器中的更新操作发送POST请求,该操作将请求作为AJAX处理,并且标记显示在字段上方。 现在,问题是当用户从建议列表中选择标签时。 默认情况下,jQuery UI自动完成插件会将所选元素附加到字段内,然后用户必须按下表单按钮。 但是,我想通过在从建议列表中选择标签时自动添加标签来为用户节省一些工作。 因此,我在application.js文件中有这个代码: select: function(event, ui) { var url = $(‘.edit_video’).attr(‘action’); var val = ui.item.topic.name; $.ajax({type:”PUT”, url:url, data:{video:{topic_names:val}}}); return false; } 当从列表中选择元素时,成功地将PUT请求发送到更新操作。 但是,请求不会作为AJAX处理。 标记已成功添加,但仅在页面刷新后才添加。 我希望将请求作为AJAX处理。 我怎样才能做到这一点? 我猜这个问题与以下事实有关:当你按下表单按钮时, :remote => true选项告诉rails查找format.js (我在更新操作中有),但是当按钮时没有按下,从列表中选择一个元素,Rails不知道要查找JS。 我怎么知道?

JavaScript库在Rails开发环境中运行良好,但在Heroku生产中却没有

我有JavaScript创建一些滑块和一个仪表,我将连接到数据库/算法,为中小企业+创建一个利润优化系统。 滑块使用jQuery UI库,而仪表使用justguage.js库。 The SimutronX var g = new JustGage({ id: “profitGauge”, value: 67, min: 0, max: 100, title: “Profit” }); $( “.selector” ).slider({ orientation: “vertical” }); 这两项工作都很好。 在开发中测试这些后,我推动了生产 ,以向客户展示我的进展。 git add -A git commit -m “add basic dials/meter” git push git push heroku 在推送到Heroku时,我收到一个错误,我在之前的JavaScript库jquery.knob.min.js得到了这个错误。 这里发生了什么事? 我并没有真正使用Heroku,所以我不明白为什么它会对我的远程开发环境产生不同的反应。 这是我的开发application.js的链接。 在生产中,我不确定如何访问此文件。

Ruby / Rails / AJAX / JQuery – 在链接上单击,传递参数并执行控制器操作

我正在尝试使用单击链接在我的控制器中执行和操作,称为“是”,但这样做是客户端而不是每次用户点击时都要刷新。 在我有一个link_to路由到名为“yes”的动作并传递模型的id之前,我称之为’event’ (in view) match ‘user/:id/yes’ => ‘user#yes’, :as => “yes” {in routes.rb) 问题是每次用户点击链接时页面会在执行yes操作时刷新,因此如果我可以告诉后端执行客户端操作,它会流得更顺畅。 S0我在这里找到了一个引用: 在rails3中从javascript执行controller / action 并查看了文档: http : //api.jquery.com/jQuery.ajax/ 想出了这个。 如果post在上一个路线上成功,则更改链接的css类(更改颜色)。 $.ajax({ type: “POST”, url: “/user/” + $(this).attr(‘event’) + “/yes/”, success: function(){ $(“.like”).click(function() { if ($(this).hasClass(“selected”)) { $(this).addClass(“selected”); return false; } }); 我还补充说,这是控制器的底部,正在使用所需的javascript。 respond_to do |format| format.html { } format.js end 所以现在我的link_to看起来像这样 […]

使用datetimepicker在rails 4中重新加载页面后更改日期格式

我注意到我的应用程序中有一些奇怪的东西。 当我进入主页面时: http : //leszczyna.wzks.uj.edu.pl/12_stolarski/events_for_seniors/然后点击搜索中的第二个字段并选择一些东西,出现的日期格式为’ dd-mm-yyyy ”。 但是当我点击左上角的’Wydarzeniadladefanceów’日期格式正在变为’ dd / mm / yyyy ‘。 我注意到区域设置出现在URL中,但不知道它是否对该行为有影响。 更重要的是,当我在那之后刷新页面时,日期格式开始了。 什么可以导致那种输入的奇怪行为? 编辑 我认为的代码: Email { provide: ‘datepicker’ } %> 而我的javascript: /* Search date */ if ($(‘body.homepage’).length) { $(‘.date’).datepicker({ ‘language’: “pl”, ‘todayHighlight’: true, ‘format’: ‘dd-mm-yyyy’, ‘autoclose’: true }) }

如何捕获表单值并通过电子邮件作为ajax请求发送它们? 轨道

我正在尝试设置一个简单的表单,用户在其电子邮件地址中键入以订阅简报。 然后,我会收到一封包含用户电子邮件地址的电子邮件。 这是我到目前为止所尝试的: 表格: Subscribe 路线 post ‘subscribe/:email’, :to => ‘welcome3#subscribe’, as: “email_subscribtion” 控制器: class Welcome3Controller < ApplicationController def subscribe EmailMeMailer.confirmation().deliver end end 邮件: class EmailMeMailer < ApplicationMailer default from: "info@example.com" def confirmation @greeting = "Hi" mail to: "my_email_address@gmail.com", subject: "subscribtion confirmation" end end JQuery Ajax方法: $(‘#sub_form’).submit(function(e) { e.preventDefault(); }).validate({ rules: { email: { required: […]

如何将jQuery UI按钮小部件添加到我的radio_button_tag?

我是javascript的新手,我很难找到一种方法将jQuery UI包含到我的应用程序中。 我目前有一个包含一些单选按钮的表单,让我按类型过滤索引页面上显示的场地记录。 我想包含jQuery按钮小部件以提供标签的外观。 我有jQuery网站上的演示设置正在我的应用程序上工作,但它只在那里看看。 http://jqueryui.com/demos/button/#radio 我目前的过滤forms: Choose a venue type: 非常感谢您的帮助!