我尝试使用我的代码在best_in_place gem中添加正确的语法:
<%= Time.at(task.hour).strftime("%I:%M %p") %>
我尝试过像
这样的事情<%= best_in_place Time, :at(task.hour), :strftime("%I:%M %p") %>
但这似乎不起作用。关于这个的任何指针?
答案 0 :(得分:0)
您可以使用BIP的display_with属性,并在config / environments / xxx.rb文件中添加自定义时间格式方法。而不是时间模型,你应该使用实际的对象,在这种情况下看起来是任务,时间属性是小时?
在视图中:
<%= best_in_place task, :hour, :display_with => lambda { |t| t.to_s(:non_military_time) } %>
在config / environments / development.rb,config / environments / production.rb,config / environments / test.rb(或者我确定你可以声明一个地方,但这就是我在过去):
Time::DATE_FORMATS[:non_military_time] = "%I:%M %p"
如果您不希望时间中的前导零,您也可以在定义中使用%l
代替%I
。希望这有助于某人,即使这是一个老问题!