Tag: javascript

如何在rails 5.1.3 + webpacker上的视图中使用jquery

我想使用一个简单的jQuery函数,如下所示: $( document ).ready(function(){ $(‘body’).addClass(“faded”); }); 从rails 5.1.3应用程序中的单个视图,在本例中为“login.html.erb” 在webpack的application.js我有: var $ = require(‘jquery’); 这使得前面提到的jquery调用工作如果我将它放在相同的application.js文件上,但这意味着它将被调用所有页面,因为在布局上。 当我尝试在login.html.erb上运行它时,如下所示: $( document ).ready(function(){ $(‘body’).addClass(“faded”); }); 我在控制台上收到错误:“ReferenceError:$未定义”。 如果我尝试在login.html.erb文件中执行“从’jquery’;”导入$,我会收到此错误:“SyntaxError:import声明可能只出现在模块的顶层”,这可以理解为我的本地。 erb视图无法访问webpacker的application.js上引用的javascript,也无法从那里导入它。 我如何从视图中引用jquery以及webpacker所服务的任何模块? 如果以前曾经问过这个问题,我很抱歉,经过几天阅读关于webpack,webpacker gem和javascript而没有找到解决方案后,我发布了这个问题。 🙂

如何在进行ajax调用后从控制器呈现部分

我在向控制器中的方法发出AJAX请求后尝试渲染部分。 这是我目前的AJAX调用: $(‘.savings_link’).click(function(event){ $.ajax({ type: ‘GET’, url: ‘/topics/savings_easter_egg’, data: { savings: data[key][‘saving’] } , dataType: ‘json’, }); event.preventDefault(); // Prevent link from following its href }); 这个调用当前有效,它命中我的控制器方法,我尝试返回并渲染部分。 def savings_easter_egg @savings = params[:savings] if params[:savings] return render :json => { :html => render_to_string({ :partial => “topics/savings”, :locals => { :savings => @savings } }) } end […]

Rails:Gmaps4rails获取路线并在地图上显示

我已经在我的应用上实现了gem ‘gmaps4rails’ 。 我在动态标签内显示一个带有两个标记的地图,一个用于当前位置(dd-start.png),另一个用于目标位置(dd-end.png)。 这是当前的设置: def show @item = Item.find(params[:id]) respond_to do |format| format.html format.js { render ‘show.js.erb’ } end @hash = Gmaps4rails.build_markers(@item) do |item, marker| marker.lat item.latitude marker.lng item.longitude marker.picture({ :url => “https://www.google.com/mapfiles/dd-end.png”, :width => 32, :height => 32 }) marker.infowindow render_to_string(:partial => ‘pages/info_page’) end append_cur_location end # method to show current location marker […]

导轨生产中的背景图像不起作用

rails 4(生产环境)中的背景图像不起作用。 在我看来,资产管道存在问题。 当我用css写的时候: selector{ background-image: url(image.jpg) } 它生成http://sofzh.miximages.com/javascript/image.jpg并且它不起作用。 如果我手动将URL更改为image.jpg-fingerprint(来自公共/资产),那么一切都还可以。 ckeditor也行不通。 这是我的production.rb config.cache_classes = true config.assets.enabled = true config.eager_load = true config.assets.precompile += Ckeditor.assets config.consider_all_requests_local = false config.action_controller.perform_caching = true config.assets.js_compressor = :uglifier config.assets.compile = false config.assets.digest = true config.assets.version = ‘1.0’ config.action_dispatch.x_sendfile_header = ‘X-Accel-Redirect’ config.log_level = :info config.log_formatter = ::Logger::Formatter.new

Ruby on Rails资产管道无法正常工作

我刚刚在rails项目上做过ruby。 我已经创建了一个名为“animals”的控制器和一个用于索引操作的视图(index.html.erb)。 我不想包含’应用程序’javascript文件。 所以我创造了animals.js 该文件的内容是 //= require jquery //= require jquery_ujs //= require turbolinks //= require bootstrap-sprockets //= animals.coffee 我还将animals.js和animals.css添加到asset.rb Rails.application.config.assets.precompile += %w( animals.js ) Rails.application.config.assets.precompile += %w( animals.css ) 我的index.html.erb包含以下行 true %> true %> 当我检查服务器生成的源html代码时,我看到jquery scipts没有包含在页面中。 它只是animal.js文件。 Rails Omniauth 有关为什么包含这些脚本的任何建议? 谢谢。

Browserify Rails错误 – ParseError:’import’和’export’可能只出现’sourceType:module’

最近我想在我的rails应用程序中集成NPM包。 我遇到这个问题: 如果有人和我一样有问题,我会在这个论坛中搜索。 是的,我在这里看到了类似的问题,但他们有不同的错误。 以下是我在我的application.js中的内容: //= require jquery //= require jquery_ujs //= require turbolinks //= require react //= require react_ujs //= require components //= require react-select //= require react-dom //= require classnames //= require_tree . $(function(){ $(document).foundation(); }); 这是我尝试导入包的地方 var React = require(‘react’); var ReactDOM = require(‘react-dom’); var FileBase64 = require(‘react-file-base64’); var MembersNew = React.createClass( […]

masonry.js不使用模态偏

基本上我有这样的东西,只是部分渲染post并用Masonry.js定位它们。 它工作得很好,但是当我添加下面show的“ show ”部分(隐藏的bootstrap模式以“点击”显示post时),post被加载到一个列中。 然后,当通过分页和窗口滚动事件追加更多post时,它们在屏幕上定位得很好。 有没有人做过类似的事情或知道会发生什么? “show”, :locals => { :post => post } %> <div class = "container" data-toggle="modal" data-target="#myModal”>

Rails remote => true confusion(没有format.js?)

我正在尝试学习如何在窗体上使用带有remote => true的rails。 ruby on rails官方网站上的以下示例让我感到困惑。 即使在@user.save调用失败时没有“ format.js ”代码,它仍然可以正常工作。 # app/controllers/users_controller.rb # …… def create @user = User.new(params[:user]) respond_to do |format| if @user.save format.html { redirect_to @user, notice: ‘User was successfully created.’ } format.js format.json { render json: @user, status: :created, location: @user } else format.html { render action: “new” } format.json { render json: […]

如何使用javascript以railsforms获取本地时间?

我正在使用local_time gem在用户本地时间显示日期,它适用于已添加的日期,以便在我当地时间显示它们。 我在添加新日期时遇到问题,我试图通过HTML表单传递用户本地时间(以及日期)。 我认为客户端设备有本地时间,所以我需要抓住它。 现在我正在尝试在表单中添加一个字段,如: = simple_form_for(@link)do |f| … = f.text_field :local_client_time, value: local_time(“#{Time.now()}”) 但那显示出来了 August 11, 2014 12:12pm” /> 这不仅是形成错误并且实际显示(应该隐藏),而且还显示了一个时间,比我在EST上的浏览器时间提前5小时。 如何在表单上传递用户本地时间? (可能是js)? 我也不确定如何在控制器上处理它。 我现在有 @link = Link.new(params[:link]) 以及之后的其他一些逻辑。 我不确定如何在创建Active Record实例时让rails处理这个额外的参数(它会忽略它吗?)而且我也不知道如何使用通过隐藏字段传入的local_client_time,如同rails可用于实际设置日期字段verified_date的值的日期格式 注意:我需要为所有用户显示该字段,无论是否登录,但对于local_time gem来说似乎没问题。 唯一的问题似乎是添加一个具有时间组件的日期字段。 美国东部时间晚上8点后,它会在第二天添加,然后显示屏会反映出来。 另一个字段(’content_date’)没有这些问题但是对于该字段我只使用f.text_field :content_date, id: ‘datepicker’, size: 10并且控制器中没有特殊处理,数据库中没有日期字段。 两个日期字段看起来类似: | content_date | date | YES | | NULL | | | verified_date […]

注册后基于导航的重定向

我的网站允许用户自由浏览到需要登录的位置以继续使用该服务(点击“注册”按钮并完成注册过程)。 一旦用户注册,我想将它们重定向到他们正在浏览的最后一个有趣页面:它可能是点击注册按钮之前的页面,或更复杂的页面。 例如,假设用户浏览“核心”内容页面,然后转到“about_us”页面,然后尝试注册,我宁愿将这些用户重定向到“核心”内容页面。 我想知道最好的方法是什么 表格中隐藏的参数? 在整个表单中跟踪此参数听起来很烦人(并在出现错误时保留它等) 基于会话的信息(某种“智能推荐人”url) 页面访问(例如,使用Ahoy.js) 在哪里/何时对最后一个相关页面进行“跟踪”? 在控制器? 在视图中作为JS代码? 做这样的事情的任何提示?