小编use*_*600的帖子

解释什么是"意思"

当一个值/变量被'"'包围时,我无法找到一个明确的解释.它为什么会发生.

例如,我有一个简单的函数,它返回一个包含id的数组.

return [params[:id]]
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它返回:

["4"]
Run Code Online (Sandbox Code Playgroud)

不:

[4]
Run Code Online (Sandbox Code Playgroud)

这是我所期待的.

有人可以解释'是'是什么以及为什么/如何插入?

ruby-on-rails

10
推荐指数
1
解决办法
5万
查看次数

从rails中的ActiveRecord_Relation中删除元素

如何从rails中的ActiveRecord_Relation中删除最后一个元素?

例如,如果我设置:

@drivers = Driver.all
Run Code Online (Sandbox Code Playgroud)

我可以通过执行以下操作将另一个名为@new_driver的Driver对象添加到@drivers:

@drivers << @new_driver
Run Code Online (Sandbox Code Playgroud)

但是如何从@drivers中删除对象?

删除方法似乎不起作用,即

@drivers.delete(0)
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

4
推荐指数
2
解决办法
7374
查看次数

重定向发出 PATCH 请求而不是 GET

我正在从 application.js 文件发出 ajax 补丁请求:

$.ajax({
     type: "PATCH",
     url: "/units/" + id,
     data: { 'var_1': var_1,
             'var_2': var_2,},
     success:function(){
            alert("Details saved successfully!!!");
     },
     dataType: "text"
 });

 // stop normal form submission behaviour
 $("#add_form").submit(function(e){ return false; }); 
Run Code Online (Sandbox Code Playgroud)

我的控制器已成功接收此请求,并且我的对象的属性已更新。然后我尝试重定向到具有特定 id 的索引页面。

单位控制器.rb

if @unit.update_attributes( ** data ** )
    flash.notice = "Successfully updated "
    redirect_to :controller => "/units", :action => "index", :id => params[:id]
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,redirect_to 调用包含 PATCH 方法请求,因此返回路由错误。根据我的routes.rb 文件,它应该只是一个 GET 请求:

resources :units, except: :show
get '/units/index' => 'units#index'
Run Code Online (Sandbox Code Playgroud)

知道为什么我的redirect_to 调用包含 PATCH …

ajax redirect ruby-on-rails

3
推荐指数
1
解决办法
3112
查看次数

rails 4的geocomplete不能在Heroku中工作

我正在运行rails 4应用程序,并安装了jquery geocomplete插件的v1.6,以提供谷歌地方自动完成功能.

我按照geocomplete github页面上的说明进行操作(http://ubilabs.github.io/geocomplete/)

该插件在我的本地主机上运行时效果很好,但是当我将我的应用程序上传到heroku时,自动完成简单功能不起作用 - 谷歌地图不会显示,并且在自动填充文本字段中输入不会触发任何响应.此外,页面上没有其他JavaScript工作.

这些是我在视图文件中运行的脚本:

<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>
  $(function(){
    $("#geocomplete").geocomplete({
      map: ".map_canvas",
      details: "form",
      types: ["geocode", "establishment"],
    });

    $("#find").click(function(){
      $("#geocomplete").trigger("geocode");
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

这些是我在application.js文件中需要的文件

//= require jquery
//= require jquery_ujs
//= require bootstrap.min
//= require turbolinks
//= require jquery.turbolinks
//= require jquery.geocomplete
//= require jquery.geocomplete.min
//= require underscore
//= require gmaps/google
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

这是heroku中页面顶部的html:

<!DOCTYPE html>
<html>
  <head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link data-turbolinks-track="true" href="/assets/application-2b5264bcc7a1f63268dbbba57c51fade.css" media="all" …
Run Code Online (Sandbox Code Playgroud)

google-maps ruby-on-rails jquery-autocomplete google-places-api

1
推荐指数
1
解决办法
1540
查看次数