当一个值/变量被'"'包围时,我无法找到一个明确的解释.它为什么会发生.
例如,我有一个简单的函数,它返回一个包含id的数组.
return [params[:id]]
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它返回:
["4"]
Run Code Online (Sandbox Code Playgroud)
不:
[4]
Run Code Online (Sandbox Code Playgroud)
这是我所期待的.
有人可以解释'是'是什么以及为什么/如何插入?
如何从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) 我正在从 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 …
我正在运行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&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