为什么尝试抛出错误?不是打败了整个目的吗?也许只是在控制台?
ruby-1.9.2-p180 :101 > User.first.try(:something)
NoMethodError: undefined method `something' for #<User:0x000001046ad128>
from /Users/me/.rvm/gems/ruby-1.9.2-p180/gems/activemodel-3.0.10/lib/active_model/attribute_methods.rb:392:in `method_missing'
from /Users/me/.rvm/gems/ruby-1.9.2-p180/gems/activerecord-3.0.10/lib/active_record/attribute_methods.rb:46:in `method_missing'
from (irb):101
from /Users/me/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.10/lib/rails/commands/console.rb:44:in `start'
from /Users/me/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.10/lib/rails/commands/console.rb:8:in `start'
from /Users/me/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.10/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
编辑:
谢谢你们,现在我明白了.
有没有办法在不使用的情况下做我想做的事情respond_to?,这样User.try(:something)返回nil而不是抛出错误?
如何限制多个关系中返回的行数?例如:
class User < ActiveRecord::Base
has_many :photos
end
Run Code Online (Sandbox Code Playgroud)
我希望能够做到:
User.includes(:photos => {:limit => 8}).all
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但具有此功能的东西.我是否需要自己编写SQL?
提前致谢!
编辑:我不想限制关联,只是查询结果.所以用户可能有一千张照片,我只想要返回前三名.
我们有一个应用程序,用户在小型私人群组中进行互动 我们希望允许我们的用户邀请他们的Facebook好友加入群组.我们之前在朋友的时间线上发布了一个私人链接,但上周Facebook禁用了:https://developers.facebook.com/roadmap/#february-2013
apprequest对话框不起作用,因为它仅限于画布和移动应用程序:
请求仅适用于Desktop Canvas,iOS和Android应用程序.接受Canvas上的请求会将用户引导至发送请求的应用的Canvas页面URL.对于原生移动应用,接受请求会将用户引导至其设备上的应用(如果已安装)或指向适当的位置(Apple App Store或Google Play)以下载应用.
来自:http://developers.facebook.com/docs/reference/dialogs/requests/
我正在考虑使用Facebook Open Graph并创建一个动作并提及标记,但这似乎是一个黑客,我不认为参与会如此高.
您认为最好的方法是什么?
谢谢!
在试图解析约会时,我已经绞尽脑汁待了好几个小时:
Date.today.to_s
=> "06/07/2011"
Date.today
=> Tue, 07 Jun 2011
Date.parse Date.today.to_s
=> Wed, 06 Jul 2011
Date::DATE_FORMATS[:default]
=> "%m/%d/%Y"
Run Code Online (Sandbox Code Playgroud)
to_s的默认格式与解析的默认格式不同?他们为什么要这样对我?
使用Rails 3.0.5和Ruby 1.9.2-p180
更新 所以感谢你的回答,我意识到DATE_FORMATS是一个rails事物,而Date.format正在使用ruby库(正确吗?).有没有办法用默认的DATE_FORMAT解析日期/时间而不使用strptime?
我在这里有点失去理智......我有以下代码:
<script id="myTemplate" type="text/x-handlebars-template">
<div>{{post/name}}</div>
{{#if post/attachments}}
<p>
{{#list post/attachments}}<img src="{{url}}">{{/list}}
</p>
{{/if}}
</script>
Run Code Online (Sandbox Code Playgroud)
还有一个帮助器,我直接从每个帮助器复制,以确保没有错误.
Handlebars.registerHelper('list', function(context, fn, inverse) {
var ret = "";
if(context && context.length > 0) {
for(var i=0, j=context.length; i<j; i++) {
ret = ret + fn(context[i]);
}
} else {
ret = inverse(this);
}
return ret;
});
window.myTemplate = Handlebars.compile($('#myTemplate').html());
window.myTemplate({post:{name:"Post!", attachments:[{url:"/images/preview.jpg"},{url:"/images/1.jpg"}]
Run Code Online (Sandbox Code Playgroud)
这实际上并没有调用帮助程序,代码最终看起来像这样:
<div></div>
<p>
<img src>
</p>
Run Code Online (Sandbox Code Playgroud)
现在我用每个块做这个,它工作正常,我错过了什么?
activerecord ×1
date ×1
facebook ×1
format ×1
has-many ×1
helpers ×1
javascript ×1
limit ×1
mustache ×1