小编vre*_*sys的帖子

Rails,设计认证,CSRF问题

我正在使用Rails进行单页应用程序.登录和注销时,使用ajax调用Devise控制器.我得到的问题是,当我1)登录2)退出然后再次登录不起作用.

我认为它与CSRF令牌有关,当我退出时它会被重置(虽然它不应该是afaik),并且因为它是单页,旧的CSRF令牌正在xhr请求中发送,从而重置会话.

更具体地说,这是工作流程:

  1. 登入
  2. 登出
  3. 登录(成功201.但是WARNING: Can't verify CSRF token authenticity在服务器日志中打印)
  4. 随后的ajax请求未通过401未授权
  5. 刷新网站(此时,页眉中的CSRF更改为其他内容)
  6. 我可以登录,它可以工作,直到我尝试退出并重新登录.

任何线索非常感谢!如果我可以添加更多详细信息,请与我们联系.

authentication ajax ruby-on-rails csrf devise

39
推荐指数
5
解决办法
2万
查看次数

为什么Rails 4脚手架会创建json.jbuilder文件?

我已经生成了一个新的rails 4(rc1)项目,使用rails new并生成了一个脚手架rails g scaffold.

正如预期的那样,它创建了迁移,控制器和所有必需的视图文件.

它还创建了show.json.jbuilder和index.json.jbuilder.

我假设这是为了帮助模型生成json.控制器也包含format.json调用.

问题:为什么它需要json以及生成的应用程序的哪个部分使用json?它看起来不像(对我来说)视图使用json渲染任何东西,似乎它们在服务器端呈现(@model变量在视图中用于获取内容).

边缘指南(http://edgeguides.rubyonrails.org/)没有提到jbuilder以及为什么需要它.

提前致谢!如果我能澄清这个问题,请告诉我.

ruby-on-rails ruby-on-rails-4

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

为什么html表格单元格的边框颜色不会改变?

如何使细胞的左边界变红?为什么这不起作用?谢谢!!

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.main-table {
    border-collapse: collapse;
}
.main-table td {
    margin: 0px;
    padding: 0px;
    border: 1px solid #aaa;
    padding: 1px 4px 1px 4px;
}
.left-border {
border-left: 1px solid red !important;
}
</style>
</head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
Run Code Online (Sandbox Code Playgroud)

左边框是否应该覆盖.main-table td上指定的颜色?

<table class='main-table' cellspacing='0' cellpadding='0'>
<tr>
    <td> 1 </td>
    <td> 366 </td>
</tr>
<tr>
    <td > 2 </td>
    <td class='left-border'> 777 </td>
</tr>
</table>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css

19
推荐指数
1
解决办法
2万
查看次数

如何在D3折线图上拟合可变长度刻度标签?

这是一个JSFiddle:http://jsfiddle.net/8p2yc/(这里有一个稍微修改过的例子:http://bl.ocks.org/mbostock/3883245 )

正如您在JSFiddle中看到的那样,沿y轴的刻度标签不适合svg.我知道我可以增加左边距,但问题是我不知道预先提供了什么数据.如果我只是使边距非常大,如果数字很短,图表看起来会很尴尬.

有没有办法在创建图表时预先计算最大标签宽度以正确设置边距?或许还有一个完全不同的解决方案?

var margin = {top: 20, right: 20, bottom: 30, left: 50},
    width = 400 - margin.left - margin.right,
    height = 200 - margin.top - margin.bottom;

var svg = d3.select("body").append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
  .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");
Run Code Online (Sandbox Code Playgroud)

示例图表

谢谢!

javascript svg d3.js

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

为什么重复的JSON解析消耗越来越多的内存?

似乎在Ruby中一遍又一遍地解析相同的JSON文件会占用越来越多的内存.考虑下面的代码和输出:

  1. 为什么在第一次迭代后没有释放内存?
  2. 解析后,为什么116MB JSON文件会占用1.5Gb的RAM?考虑到文本文件被转换为哈希值,这是令人惊讶的.我在这里错过了什么?

码:

require 'json'

def memused
  `ps ax -o pid,rss | grep -E "^[[:space:]]*#{$$}"`.strip.split.map(&:to_i)[1]/1024
end

text = IO.read('../data-grouped/2012-posts.json')
puts "before parsing: #{memused}MB"
iter = 1
while true
  items = JSON.parse(text)
  GC.start
  puts "#{iter}: #{memused}MB"
  iter += 1
end
Run Code Online (Sandbox Code Playgroud)

输出:

before parsing: 116MB
1: 1840MB
2: 2995MB
3: 2341MB
4: 3017MB
5: 2539MB
6: 3019MB
Run Code Online (Sandbox Code Playgroud)

ruby memory json memory-leaks

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

render_to_string控制器中的部分格式错误

在控制器上运行以下代码时出现以下错误.请注意:formats=>[:json]错误,即使:formats=>[:html]传递给render_to_string

我究竟做错了什么?有任何想法吗?实际上,下面的代码工作正常,不确定哪些更改会影响此错误.Rails版本:3.2.8

顺便说一下模板肯定到位:loc/_search_details.html.erb

额外的问题:我在哪里可以找到api文档,显示哪些参数可以传递给render_to_string以及它是如何工作的?

错误: ActionView :: MissingTemplate(缺少部分loc/search_details,{:locale => [:en],:formats => [:json],:handlers => [:erb,:builder,:coffee]}.

  respond_to do |format|
    format.json { 
      @detail_str = render_to_string(:partial => 'loc/search_details', :layout => false, :formats=>[:html], :locals => {:beer_results => @beer_results})
      @list_str = render_to_string(:partial => 'loc/search_list', :layout => false,:formats=>[:html], :locals => {:beer_results => @beer_results})
      render :json => {:results => @results_hash, :result_details => @detail_str, :result_list => @list_str }

      }
  end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

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

pg_search:如何确定单词匹配的优先顺序?

Probem:当搜索具有多个类似于搜索查询的单词的文本时,它们的排名高于具有一个完全匹配的文本.

示例:假设搜索查询是"生产力",那么"有机产品的生产"获得的排名高于"劳动生产率",因为它包含两个相似的单词,尽管没有确切的单词匹配.

问题:确定具有完全匹配的记录的优先级的最佳方法是什么?

这是我的pg_scope:

  pg_search_scope :search,
                  :against => {
                    :title => 'A',
                    :search_string => 'B'
                  },
                  :using => {
                    :tsearch => {
                      :dictionary => 'english',
                      :any_word => 'true'
                    }
                  }
Run Code Online (Sandbox Code Playgroud)

谢谢.

postgresql activerecord ruby-on-rails pg-search

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

如何查找 ActiveRecord::Base.update 的文档?

在 Ruby/Rails api http://api.rubyonrails.org/中查找方法文档的过程是怎样的?

我们以方法ActiveRecord::Base.update为例。它被用在其中一种铁轨上。

  1. api 文档中没有提及该类的更新 http://api.rubyonrails.org/classes/ActiveRecord/Base.html
  2. updateBase 的源代码中 没有任何关于方法的内容https://github.com/rails/rails/blob/0065f378262dc3f47880ce6211c7474bc7d11f0b/activerecord/lib/active_record/base.rb
  3. 事实上,我什至在 ActiveRecord::Base.

我怀疑这个方法是在 ActiveRecord::Relation 中。不过,我不确定。

我是 Ruby/Rails 的初学者,我来自 Java 世界,我通常希望在该类的 javadoc 中看到所有方法(也继承)。对于 Ruby/Rails,最有效的查找混合/继承方法的相关文档是什么?

提前致谢!

ruby ruby-on-rails ruby-on-rails-3

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

如何在jquery中捕获cmd +输入事件

我需要确定用户在将文本输入textarea后按下cmd + enter的时间.我正在使用jquery.

这是我试过的:

<textarea id="checkMetaKey"></textarea>
<div id="display"></div>

$( "#checkMetaKey" ).keyup(function( event ) {
  $( "#display" ).text(event.metaKey + " " + event.keyCode);
});
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http://jsfiddle.net/WQG2b/

当点击cmd + enter时,我希望显示"true 13".但事实并非如此.

我只能单击CMD或CMD + ALT或CMD + CTRL才能使metaKey成为真的唯一方法.

如何捕获CMD + ENTER事件?

当我在Facebook上尝试它时,类似的功能似乎有效,我可以使用CMD + ENTER提交消息文本.

javascript macos jquery

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

如何在表格单元格中垂直居中?

问:如何将复选框垂直居中?在这种特殊情况下,为什么在复选框边框和包含元素之间存在空白空间,因为所有元素的边距和填充都是0?

截图:

截图

JSFiddle:http://jsfiddle.net/TZMF5/2/

HTML:

<div class="category-item">
    <span class="input-container">
        <input type="checkbox"/>
     </span>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.category-item {
  display: table;
  border: 1px solid #cccccc;
  margin: 0;
  padding: 0;
}

.category-item .input-container {
  display: table-cell;
  margin: 0;
  padding: 0;
  text-align: center;
}

.category-item .input-container input {
  margin: 0;
  padding: 0;
  vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)

对此有类似的问题.无法找到适用于此案例的答案.谢谢!

html css

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