小编Nic*_*ick的帖子

Rails AtomFeedBuilder条目:Url选项出现在url标记中,但不出现在链接标记中

我正在使用AtomFeedHelper并且一切正常,除了一个feed,我需要将每个条目链接到一个URL,该URL不是记录的默认polymorphic_url.

根据文档我已经为条目指定了:url选项.这正确地<url>在原子节点中呈现标记,但<link rel="alternate"仍然指向默认的polymorphic_url.查看源代码和文档,我不明白为什么会这样.

这是一个示例构建器:

atom_feed do |feed|
  feed.title("Reports")
  feed.updated(@reports.first.created_at)
  for report in @reports
    content = report.notes

    feed.entry(report) do |entry|
      entry.title(report.title)
      entry.content(content, :type => 'html')
      entry.url("http://myhost/page/")
      entry.updated(report.updated_at.strftime("%Y-%m-%dT%H:%M:%SZ"))
      entry.author do |author|
        author.name(report.user.username)
      end
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

以下是问题节点的示例:

 <entry>
    <id>tag:myhost.mydomain.com,2005:SiteReport/2</id>
    <published>2010-03-30T13:11:07-07:00</published>
    <updated>2010-03-30T13:11:07-07:00</updated>
    <link rel="alternate" type="text/html" href="http://myhost/site_reports/2"/>
    <title>Test Title</title>
    <content type="html">Test Content</content>
    <url>http://myhost/page/</url>
    <updated>2010-03-30T13:11:07Z</updated>
    <author>
      <name>Author</name>
    </author>
  </entry>
Run Code Online (Sandbox Code Playgroud)

我希望链接标记中的href值与url标记中的值匹配,但它不匹配.

当我查看列表中列出的来源http://api.rubyonrails.org/classes/ActionView/Helpers/AtomFeedHelper/AtomFeedBuilder.html

我假设这条线可以正常工作:

 @xml.link(:rel => 'alternate', :type => 'text/html', :href => options[:url] || @view.polymorphic_url(record))
Run Code Online (Sandbox Code Playgroud)

困惑.有没有人遇到过这个?

谢谢大家!

feeds ruby-on-rails atom-feed

8
推荐指数
1
解决办法
1687
查看次数

在UIView中响应applicationWillEnterForeground

我有一个UITableView,可以从网络加载远程数据.我在viewWillAppear中有逻辑来处理根据状态更改和数据集的TTL在需要时刷新数据.这在应用程序"会话"中正常工作,但在用户将应用程序退出到后台并稍后将其直接还原到此视图时无效.

我发现当iOS4中应用程序恢复到前台时 - 视图中没有调用viewWillAppear - 我完全可以理解为什么这是设计的.我应该利用另一个UIView委托吗?我在文档中没有发现任何内容.

由于在应用程序中可以使用willEnterForeground委托是处理从应用程序委托到视图的通知的最佳方法吗?我是否错过了一种更直接,更优雅的方式来捕捉UIView?

谢谢你的任何提示.

iphone ios4

8
推荐指数
1
解决办法
3903
查看次数

在没有UINavigationController的情况下将UINavigationBar添加到UITableViewController

我有一个以前在UINavigationController中使用的现有UITableViewController.

我需要将其转换为模态视图.但是,我仍然希望在顶部有一个导航栏.我知道这听起来很奇怪 - 如果我想要一个UINavBar,为什么不把它呈现在UINavigationController中呢?我想在没有与我的UINavigationController关联的UITabBarController的情况下呈现它.

我尝试打开XIB,添加一个新视图,将UITableView移动为子视图,并将NavigationBar添加到该新视图中.然而,这似乎没有产生任何影响,整个tableview仍然呈现 - 没有导航栏可见.我认为这是因为该类是UITableViewController的子类.

我需要将其转换为UIViewClass吗?有没有一种很好的方法可以在代码中或通过Interface Builder向现有的UITableViewController添加导航栏?

感谢您提供有关如何处理此问题的任何建议.

iphone uinavigationbar uitableview

8
推荐指数
1
解决办法
5817
查看次数

KVO - 在观察枚举时未调用observeValueForKeyPath

之前我曾使用过NSNotifications,但这是我第一次尝试在Cocoa Touch中使用KVO.

我的UITableView控制器在各种数据源之间切换,因此我将它们封装在不同的UITableViewDataSource子类中.我正在尝试让我的视图控制器观察这些UITableViewDataSource子类中的特定一个,并跟踪一个被称为loadState反映模型加载状态的枚举.

我像这样设置观察者:

[self.siteUpdatesDataSource addObserver:self
                             forKeyPath:@"loadState"
                                options:0
                                context:nil];
Run Code Online (Sandbox Code Playgroud)

从调试器我可以看到观察者已注册:

(gdb) po [self siteUpdatesDataSource]
<SiteUpdatesTableViewDataSource: 0x651e5a0>
Current language:  auto; currently objective-c
(gdb) po [[self siteUpdatesDataSource] observationInfo]
<NSKeyValueObservationInfo 0x651dd70> (
<NSKeyValueObservance 0x651dd10: Observer: 0xc80f1e0, Key path: loadState, Options: <New: NO, Old: NO, Prior: NO> Context: 0x0, Property: 0x651dd90>
Run Code Online (Sandbox Code Playgroud)

)

但是,我的viewController中的observeValueForKeyPath方法似乎永远不会被调用.我设置了一个断点,即使我确认枚举已经改变,也没有任何东西可以达到它.

- (void) observeValueForKeyPath:(NSString *)keyPath 
                        ofObject:(id)object
                          change:(NSDictionary *)change
                         context:(void *)context {

   [self.tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)

我很欣赏我所缺少的任何想法.

iphone cocoa-touch key-value-observing

8
推荐指数
1
解决办法
6861
查看次数

Rails - 在没有url helper的情况下在模型的虚拟属性中构建绝对URL

我有一个带回形针附件的模型.

该模型可能用于多个rails应用程序

我需要将完整(非相对)url作为JSON API的一部分返回到附件中.

我想抽象回形针方面,并有一个像这样的简单虚拟属性:

  def thumbnail_url
    self.photo.url(:thumb)
  end
Run Code Online (Sandbox Code Playgroud)

然而,这只给了我相对的路径.因为它在模型中我不能使用URL帮助方法,对吧?

因为我没有帮助支持,所以在预先设置应用程序根URL的好方法是什么?我想避免硬编码或添加代码到组装我的JSON的控制器方法.

谢谢

model ruby-on-rails paperclip

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

PreferenceActivity中不同高度的首选项

我有一个自定义类,它扩展了我正在与PreferenceActivity一起使用的Preference.

当我尝试调整我的Preference使用的布局中的高度(使用静态layout_height或使用wrap_content)时,它始终显示在Preference Activity中的统一高度单元格中 - 与所有"普通"首选项默认为相同的大小.

有没有一种方法可以使用不同的layout_height呈现给定的首选项.

我查看了与首选项相关的API演示,但我没有看到任何与我正在尝试的内容相匹配的内容.

android preference preferenceactivity

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

MongoDB排序了地理边界框

使用MongoDB有一种方法可以执行边界查询(在一个框内)并从中心点对结果进行排序,并让它们返回距离计算.

我意识到做一个半径附近可以为我提供一个距离有序集但我希望我试图确定它是否可能在一个盒子而不是一个圆圈内.

geospatial mongodb

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

MongoMapper附近有maxDistance - Mongo :: OperationFailure:geo值必须是数字:

我试图在MongoMapper支持的模型中使用maxDistance封装near查询.

我必须在查询语法中做一些愚蠢的事情.

模型

class Site
  include MongoMapper::Document

  key :id, Integer 
  key :name, String
  key :location, Array
  ensure_index [[:location, '2d']]


  def self.nearest(center_point, range)
    where(:location => {'$near' => center_point, '$maxDistance' => range}).all
  end

end
Run Code Online (Sandbox Code Playgroud)

试图把距离一点200英里的所有东西都拿走......

Site.nearest([ - 122.0,44.0],200)

> Mongo::OperationFailure: geo values have to be numbers: {
> $maxDistance: 200, $near: [ -122.0, 44.0 ] }  from
> /Library/Ruby/Gems/1.8/gems/mongo-1.6.1/lib/mongo/cursor.rb:144:in
> `next'    from
> /Library/Ruby/Gems/1.8/gems/mongo-1.6.1/lib/mongo/cursor.rb:290:in
> `each'    from
> /Library/Ruby/Gems/1.8/gems/mongo-1.6.1/lib/mongo/cursor.rb:308:in
> `to_a'    from
> /Library/Ruby/Gems/1.8/gems/mongo-1.6.1/lib/mongo/cursor.rb:308:in
> `to_a'    from
> /Library/Ruby/Gems/1.8/gems/plucky-0.4.4/lib/plucky/query.rb:74:in
> `all'     from …
Run Code Online (Sandbox Code Playgroud)

geospatial mongodb mongomapper

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

在数组中构建活动记录条件 - 私有方法'scan'称为错误

我正在尝试使用数组动态构建一组条件,如第一个答案所示:模型中的一个或多个参数使用Ruby on Rails查找条件.然而,我似乎做错了什么,我不确定我正在尝试的是从根本上是不健全的,或者我是否只是拙劣的语法.

我在这里简化到一个单一的条件,试图说明问题,因为我试图在这些线上构建一个简单的概念证明,然后再分层我正在争论的5种不同的条件样式.

这有效:

excluded.push 12
excluded.push 30
@allsites = Site.all(:conditions => ["id not in (?)", excluded])
Run Code Online (Sandbox Code Playgroud)

这导致私有方法'scan'被称为错误:

conditionsSet = []
excluded.push 12
excluded.push 30
conditionsSet << ["id not in (?)", excluded]
@allsites = Site.all(:conditions => conditionsSet)
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.我不确定是否正确将此作为后续项目放在我在顶部注意到的相关问题/答案中.因为我有一个问题不是答案.如果有更好的方式发布与现有帖子相关的内容,请告诉我.

activerecord ruby-on-rails multiple-conditions conditional-statements

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

LIKE以数字结尾的匹配字符串

我有一个包含资源路径的列,如下所示:

/apiv3/widgets/100
/apiv3/widgets/search
/apiv3/widgets/new
Run Code Online (Sandbox Code Playgroud)

我试图得到一个LIKE或REG_EX,只会匹配以数字结尾的字符串

我尝试了一些例如:

LIKE '\/apiv3\/widgets\/[0-9]%'
LIKE '\/apiv3\/widgets\/[^0-9]%'
Run Code Online (Sandbox Code Playgroud)

如何匹配仅以任意长度的数值结尾的路径?

sql postgresql pattern-matching sql-like

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