小编Top*_*gio的帖子

Postgres/PHP - 检索插入行ID的标准方法是什么?

我在Google上搜索并阅读了几篇关于不同人如何处理这个问题的文章,但我想知道解决它的标准方法是什么,以及哪一个最适合我的情况.

我有一个AJAX页面,它创建了一个新问题,我需要知道如何从同一个php文件中的插入查询中检索ID,在下一行.

它看起来像这样:

$r = pg_query("INSERT INTO questions (audit_id, type_id, order) VALUES (1,1,1)");
// Fetch ID from $r here...
Run Code Online (Sandbox Code Playgroud)

我已经看到了mysql_insert_id()MySQL 的功能,并且听说pg_last_oid()类似于PostgreSQL,但文档声称它已被弃用并将很快删除.我也看到了使用CURRVAL('my_sequence_table.id')但我不确定这是否适用于AJAX,因为这可能会引发竞争条件.

有人可以告诉我标准的 PHP/PostgreSQL方法来解决这个问题吗?我非常感谢任何评论.

PS我想念Ruby on Rails!

php database postgresql

3
推荐指数
1
解决办法
297
查看次数

为什么MyObject.new.class === MyObject评估为false?

我执行以下操作,并评估为false:

MyObject.new.class === MyObject
Run Code Online (Sandbox Code Playgroud)

然而,

MyObject.new.class == MyObject
Run Code Online (Sandbox Code Playgroud)

评估为true.有更多Ruby背景的人可以向我解释一下,如果可以==用于此目的吗?

ruby equality

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

从Ruby数组中删除对象的替代/更短的方法?

我发现自己需要经常从Ruby数组"内联删除"对象,我的代码通常如下所示:

my_array.flatten.reject{ |a| a == 'stupid' }.yada.yada.reject{ |a| a == 'dumb' }
Run Code Online (Sandbox Code Playgroud)

我想摆脱这个块,只是将拒绝作为一个参数传递如下,但这在Ruby中不起作用:

my_array.flatten.reject('stupid').yada.yada.reject('dumb')
Run Code Online (Sandbox Code Playgroud)

是否有我缺少的方法,或更好的方法在线删除对象?

ruby arrays

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

何以当前语言(iPhone)从NSDateFormatter获取月/周日符号

特别是我对shortStandaloneWeekdaySymbols感兴趣.我正在使用此代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSArray *shortWeekdaySymbols = [dateFormatter shortStandaloneWeekdaySymbols];
Run Code Online (Sandbox Code Playgroud)

但是,如果iPhone区域格式设置为美国,但语言设置为法语/德语/任何其他格式,NSDateFormatter将返回英语字符串(mon tue ...).但我想尊重语言设置,并以当前语言获取工作日名称(标准时钟应用程序就是这样做的).这可能吗?

我能想到的唯一方法是获取当前用户语言(如何?)并将日期格式化程序上的语言环境设置为该语言的区域.

iphone localization region nsdateformatter

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

提交链接 - 没有Javascript:下行?

前几天我发现了一个启示.当尝试使用图像创建提交按钮时,我遇到了一个问题,其中图像没有显示但value文本是.当时,这不是我想要的,但现在,当我回顾过去时,我看到了一些潜在的用途.

如果您需要将数据发送到另一个页面,但没有一个需要用户输入,您可以通过链接(或表单)通过表单GET或通过表单来发送数据POST.问题是前者创建了丑陋的URL,而后者需要一个submit看起来不合适的按钮.当然,我可以想出一个图像,但是如果我只想要可选文本呢?

所以,我开始玩了一下,Firefox似乎呈现了我想要的内容,作为提交表单的可点击链接.您所要做的就是srcinput type='image'标记中删除属性:

<form action='some_page' method='post'>
  <input type='hidden' name='email_address' value='test@test.com' />
  <input type='image' value='E-mail User' />
</form>
Run Code Online (Sandbox Code Playgroud)

此解决方案是否适用于其他浏览器?这样做有什么缺点(除了你的链接CSS没有正确应用的明显事实)?

html css forms graceful-degradation

0
推荐指数
1
解决办法
1832
查看次数

jQuery - 修改元素的悬停css

我正在创建一个自定义网站页面,动态更改当前页面,以便您可以看到正在更改的内容的预览.一切都运行得很好,除了我使用的代码显然无法处理伪类,如:hover:visited.

代码很简单,我基本上做了以下几点:

$("#links td.active a:hover").css("color", "#ff0000");
Run Code Online (Sandbox Code Playgroud)

但是,这实际上并没有将<a>标记的悬停颜色设置为#ff0000.如果我脱掉它,它的工作正常:hover.有人建议如何使这个工作?

非常感谢!

编辑1:显然,我可能完全错了.更多信息显示我可以使用document.styleSheets.inlinestyle.rules它来修改它,虽然这显然只适用于IE.任何更多的想法将不胜感激.

jquery hover pseudo-class

0
推荐指数
1
解决办法
441
查看次数

Rails 缓存清扫器和模型回调触发

我有以下课程:

class Vigil < ActiveRecord::Base
  after_update :do_something_cool

  private
    def do_something_cool
      # Sweet code here
    end
end

class NewsFeedObserver < ActionController::Caching::Sweeper
  observe Vigil

  def after_update
    # Create a news feed entry
  end
end
Run Code Online (Sandbox Code Playgroud)

一切都按预期进行;但是,after_updatein the clearer 需要do_something_cool模型中的方法已经完成才能正常运行。问题是after_updatedo_something_cool回调之前(或可能同时)调用了清扫器中的,这会导致问题。

有谁知道如何after_update在模型回调后强制清扫器中的 s 触发?有没有更好的方法来实现这一目标?

更新/修复:事实证明,与下面的答案不同,观察者回调实际上以正确的顺序触发(在模型回调之后)。当我发现这一点时,我意识到一定是其他地方出了问题。

do_something_cool方法销毁所有守夜人的插槽,并用正确数量的正确时间替换它们。观察者依靠插槽的数量来确定守夜应该持续多长时间。所以,潜在的问题是所有守夜人的插槽都被销毁了,并且数据被缓存了,所以当我vigil.slots从观察者那里调用时,它正在使用缓存(销毁的插槽)数据。解决方案:只需在结束时调用 vigil.slots(true)do_something_cool即可重新加载/重新缓存新创建的插槽!

ruby-on-rails callback observer-pattern

0
推荐指数
1
解决办法
2248
查看次数