小编Joh*_*n H的帖子

注册表上是否需要CSRF保护?

Rails默认情况下会自动为所有表单添加CSRF保护,方法是添加authentication_token到站点生成的所有表单.

我真的希望我的网站在网站的首页上有一个简单的注册表单,当然这将是一个静态的HTML页面.理想情况下,这将完全避免攻击Rails堆栈,从而允许我向首页提供更多请求.

这样做的缺点是它使CSRF保护更加困难.

但我想知道是否真的有必要在注册表单上设置CSRF,考虑到CSRF攻击通常依赖于受害者登录,以便可以利用信任.注册表单记录用户是否正确验证,但我认为这对攻击者没有任何用处.

是否有关于此的建立视图或使用Rails/jQuery的解决方法?

jquery ruby-on-rails csrf

36
推荐指数
2
解决办法
7333
查看次数

每60天删除一次记录

如果记录距离created_at日期超过60天,我需要删除我的商品模型中的记录.

我只找到了有关如何使用rake任务填充模型的信息,但是我找不到有关如何使rake任务删除记录的信息.所以我只是想知道是否必须通过任务执行此操作,或者rails是否还有其他功能可以执行此操作.

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

7
推荐指数
2
解决办法
5453
查看次数

如何在其包含div更改大小时调整Flot图的大小

我正在使用Flot图形库jQuery插件,我还没有找到一个很好的方法来处理当图形包含<div>更改大小时的大小调整(例如,由于窗口大小调整).处理onresize事件时,我确保将包含的宽度和高度<div>更新为正确的大小,然后尝试调用setupGrid并在绘图对象上绘制但没有效果.我已经取得了一些成功,只需删除和读取包含<div>并重新绘制其中的图形.但是,如果我必须同时向<div>文档中添加其他元素(比如图形的工具提示),这似乎很容易陷入无限调整大小事件循环中,因为我猜这些也可以触发调整大小事件?是否有一个很好的方法来处理它,我错过了?

(我也使用ExplorerCanvas for IE,以便能够使用Flot,如果这可能与它有任何关系.我还没有真正尝试过任何其他浏览器)

javascript jquery resize flot liquid-layout

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

getDay() 是否符合 ISO 8601?

我很难确定 JavaScript 的getDay()方法 ( http://www.w3schools.com/jsref/jsref_getday.asp ) 是否符合 ISO 8601。

getDay()返回0星期日,1星期一等。

该文档建议映射到这样的日期名称:

var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
...
var n = weekday[(new Date()).getDay()];
Run Code Online (Sandbox Code Playgroud)

我只能看到 ISO 标准将星期一定义为一周的第一天。我认为这意味着星期一应该是 0,而不是星期日。

有人对这个有经验么?您能否澄清并建议覆盖使星期一成为一周第一天的方法?

javascript

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

EXC_BAD_ACCESS在初始化时在自定义类上设置属性?

我有一个简单的Answer类,如下所示:

@interface Answer : NSObject {
  NSString *_text;
  NSNumber *_votes;
}

@property(nonatomic, retain) NSString *text;
@property(nonatomic, retain) NSNumber *votes;

+(id)initFromAnswerData:(NSSet *)data;
-(id)initWithText:(NSString *)answer;

@end
Run Code Online (Sandbox Code Playgroud)

实现如下:

#import "Answer.h"
#import "AnswerData.h"
#import "AppDelegate.h"

@implementation Answer

@synthesize text = _text;
@synthesize votes = _votes;


-(id)initWithText:(NSString *)answer {
  if( (self=[super init])) {
    _text = answer;
    _votes = 0;
  }
  return self;
}


@end
Run Code Online (Sandbox Code Playgroud)

如果我使用该initWithText:方法在视图控制器中创建一个Answers数组,当我在数组中取一个Answer并尝试找到它的文本值时,我不可避免地会出现EXC_BAD_ACCESS错误.

但是,如果我初始化一个新的答案,设置文本值,然后将其添加到数组我没有此访问问题.

所以这会导致问题:

[arrayOfAnswers addObject:[[Answer alloc] initWithText:@"Hello"]];
Run Code Online (Sandbox Code Playgroud)

但这不是:

Answer *newAnswer = [[Answer alloc] initWithText:nil];
newAnswer.text = @"Hello";
[arrayOfAnswers addObject:newAnswer]; …
Run Code Online (Sandbox Code Playgroud)

xcode exc-bad-access objective-c

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

Rails 3:确保在其他人之后调用before_save回调

有没有办法确保在ActiveRecord中的所有其他before_save回调之后执行给定的before_save回调,而不是在代码中实际排序它们?

我正在编写一个包含一些before_save功能的外部库,但为了有效,它确实需要在所有其他功能之后调用.我可以解决它,但它涉及放弃我真的不想要的脏属性!

- 编辑 -

我没有意识到在保存模型后维护了脏属性.所以@ page.attribute_was仍然可以yield用于around_save.

ruby activerecord ruby-on-rails-3

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