2013-05-05 3 views
1

Я пытаюсь добавить правильный синтаксис для best_in_place драгоценного камня с моим кодом здесь:Время выпадающие для best_in_place

<%= Time.at(task.hour).strftime("%I:%M %p") %> 

Я пытался что-то вроде

<%= best_in_place Time, :at(task.hour), :strftime("%I:%M %p") %> 

но это не похоже, работают. Любые указатели на этот?

ответ

0

Вы можете использовать атрибут display_with BIP, а в файлах config/environment/xxx.rb добавить собственный формат времени. Кроме того, вместо модели Time вы должны использовать фактический объект, который выглядит как задача в этом случае, а атрибут времени - час?

в виду:

<%= best_in_place task, :hour, :display_with => lambda { |t| t.to_s(:non_military_time) } %> 

в конфигурации/сред/development.rb, конфигурации/сред/production.rb, конфигурации/сред/test.rb (или я уверен, что есть единственное место, вы могли бы объявить его, но это, как я сделал это в прошлом):

Time::DATE_FORMATS[:non_military_time] = "%I:%M %p" 

вы также можете использовать %l вместо %I в определении, если вы не хотите, ведущую к нулю в то время. Надеюсь, это поможет кому-то, хотя это старый вопрос!