小编pin*_*ngu的帖子

在Ruby on Rails中处理ActiveRecord :: RecordNotFound

在我的编辑动作中,我有

@item = current_user.shop.items.find(params[:id])
Run Code Online (Sandbox Code Playgroud)

这样用户只能编辑属于他们商店的商品.如果他们尝试编辑不属于他们商店的商品,那么他们会收到ActiveRecord :: RecordNotFound错误.

在这种情况下处理此错误的最佳方法是什么?我应该提出例外吗?我应该重定向某个地方并设置闪光灯(如果是这样,我该怎么做),我应该保持原样吗?任何建议表示赞赏.

谢谢

activerecord ruby-on-rails find ruby-on-rails-3

6
推荐指数
3
解决办法
6908
查看次数

使用Mechanize gem根据它们在DOM中的位置返回链接集合

我正在努力机械化.我希望"点击"一组链接,这些链接只能通过它们的位置(div#content中的所有链接)或它们的href来识别.

我已经尝试过上述两种识别方法但没有成功.

从文档中,我无法弄清楚如何根据它们在DOM中的位置返回链接集合(用于单击),而不是直接在链接上返回属性.

其次,文档建议你可以使用:href来匹配部分href,

page = agent.get('http://foo.com/').links_with(:href => "/something")
Run Code Online (Sandbox Code Playgroud)

但我唯一能让它返回链接的方法是传递一个完全限定的URL,例如

page = agent.get('http://foo.com/').links_with(:href => "http://foo.com/something/a")
Run Code Online (Sandbox Code Playgroud)

如果我想返回带有href的链接集合,这不是很有用

http://foo.com/something/a
http://foo.com/something/b
http://foo.com/something/c
etc...
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?我有不切实际的期望吗?

ruby mechanize nokogiri

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

将 AWS SQS 与 Ruby on Rails 结合使用

我找不到有关如何将 Amazon AWS SQS 服务与 Ruby on Rails 结合使用的任何示例。

请有人提供一个使用 SQS 发送电子邮件的简单准系统示例。

ruby ruby-on-rails amazon-sqs amazon-web-services

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

使用merge或rebase维护部署分支

我主持AWS,这意味着我无法使用环境变量来控制我的生产和暂存部署.因此,我被迫使用单独的分支进行部署,并且想知道是否有最佳实践方法来维护它们?

如果我将更改合并到我的生产分支中,则包含我的生产设置的提交将在分支历史记录中丢失,从而使调整这些设置变得更加困难.

但是我已经读过在这种情况下你不应该使用rebase,因为它会使回滚更改变得更加困难.

git deployment merge branch rebase

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

activerecord sum返回一个字符串?

这对我来说似乎很奇怪,有效记录总和会返回字符串,而不是数字

basket_items.sum("price")
Run Code Online (Sandbox Code Playgroud)

这似乎使它起作用,但是我认为我可能错过了一些东西,因为这似乎很奇怪。

basket_items.sum("price").to_i
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

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

Ruby on Rails使用jQuery的escape_javascript

我一直在看这个Railscast,特别是这些代码行.

// views/reviews/create.js.erb
$("#new_review").before('<div id="flash_notice"><%= escape_javascript(flash.delete(:notice)) %></div>');
$("#reviews_count").html("<%= pluralize(@review.product.reviews.count, 'Review') %>");
$("#reviews").append("<%= escape_javascript(render(:partial => @review)) %>");
$("#new_review")[0].reset();
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么escape_javascript用于渲染部分,并显示闪光通知,但不是复数函数?

谢谢

javascript ruby-on-rails railscasts

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

在jquery中防止多个DOM搜索

我创建了一个函数来返回一个jquery元素.

function GetDialogButton() {
    return $('a.dialog');
};
Run Code Online (Sandbox Code Playgroud)

这是在多个其他功能中使用相同的元素时完成的.如果它是从一个地方获得的话我觉得最好,因此如果属性名称改变,将来更容易改变.

我想改进这个getter,以便在单个页面加载中多次调用时不会每次执行搜索.

我怎样才能做到这一点?我要缓存它吗?或者可能没有必要,因为这是优化的?

javascript jquery

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

设计和处理闪光灯

我正在使用带有rails 3的Devise 3.1.1,我在我的布局中有这个flash处理代码:

<% flash.each do |name, msg| %>
    <%= content_tag :section, msg, :id => "flash_#{name}", :class => "flash" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我登录我的应用程序,flash说:

"Signed in successfully."
Run Code Online (Sandbox Code Playgroud)

然后退出,然后登录不正确,闪光说:

"Signed out successfully."
"Invalid email or password."
Run Code Online (Sandbox Code Playgroud)

我想我理解为什么我收到两条消息,当登录错误时没有重定向,只有渲染.

不知道怎么解决它.

flash ruby-on-rails devise

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

输入忽略在body元素上指定的font-size

我在这里有一个基本的网页http://www.webdevout.net/test?0V,转载如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
 <style type="text/css">
 body { font-size: 12px;}
 </style>
 <title>Test</title>
</head>
<body>
 <p>test</p>
 <form action="/foo" method="get">
  <fieldset>
   <input type="text" value="bar" />
  </fieldset>
 </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我使用firebug检查页面时,文本"test"是预期的12px,但输入中的文本"bar"是11px,我希望它是12px.怎么样了?

css input font-size

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

函数声明参数命名最佳实践(C++)

在函数声明中,虽然不必命名参数,但最好是将它们命名为?这有什么优缺点?

c++ function

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