我在数据库表中有几个日期字段,但是它们首先作为字符串启动,而不是日期时间。因此,我想通过迁移将这些值类型更改为日期类型,
class ChangeDateColumnsToDateTime < ActiveRecord::Migration
def change
change_column :users, :flight_date_departure, :datetime
change_column :users, :flight_date, :datetime
change_column :users, :appointment_date, :datetime
end
end
Run Code Online (Sandbox Code Playgroud)
但是它不能将旧的字符串值转换为当前存在于数据库中的日期时间,说 PG::DatatypeMismatch: ERROR: column "flight_date_departure" 不能自动转换为没有时区的类型时间戳。提示:您可能需要指定“USING flight_date_departure::timestamp without time zone”。我们在 SQLite 数据库中做到了没有问题,但是 PostgreSQL 存在这个问题。如何修改我的迁移,以便我不会丢失旧值并将它们正确转换为日期时间?
我创建了2个类,分支和帐户,我希望我的Branch类有一个Account指针数组,但我没有做到.它说"不允许不完整的类型".我的代码出了什么问题?
#include <string>
#include "Account.h"
using namespace std;
class Branch{
/*--------------------public variables--------------*/
public:
Branch(int id, string name);
Branch(Branch &br);
~Branch();
Account* ownedAccounts[]; // error at this line
string getName();
int getId();
int numberOfBranches;
/*--------------------public variables--------------*/
/*--------------------private variables--------------*/
private:
int branchId;
string branchName;
/*--------------------private variables--------------*/
};
Run Code Online (Sandbox Code Playgroud) 我有一个标签式切换统计页面,其中有10个单独的选项卡,其中包含图表.通过单击每个选项卡,将显示预加载的相应图表.但是,它不会扩展到其容器中.更奇怪的是,当我调整窗口大小时,可见图表显示正确(我想它会做一些重新计算).我应该如何修改我的代码,以便在点击之后进行重新计算,或者对问题提出任何建议?
这是我的jsfiddle:http: //jsfiddle.net/g66ut7c6/
<!--BEGIN TABS-->
<div class="tabbable tabbable-custom">
<ul class="nav nav-tabs">
<li>
<a href="#tab_1_1" data-toggle="tab">
1
</a>
</li>
<li>
<a href="#tab_1_2" data-toggle="tab">
2
</a>
</li>
<li>
<a href="#tab_1_3" data-toggle="tab">
3
</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane" id="tab_1_1">
<div class="scroller">
<div class="col-md-6 col-md-offset-3">
<div class="portlet light">
<p> Piechart by ülkeler </p>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="tab_1_2">
<div class="scroller">
<div class="col-md-6 col-md-offset-3">
<div class="portlet light">
<p> Piechart by step da??l?m? </p>
</div>
</div>
</div>
</div>
<div class="tab-pane" …Run Code Online (Sandbox Code Playgroud) 我是新的颜色,渲染等,并观看一些关于渲染的教程视频.我的问题是,当我getRGB在像素上调用方法时,它返回负int.这个负数是什么意思?例如,当我getRGB使用r:186,g:186,b:186 调用颜色时,它返回-4539718.这个数字与rgb值有什么关系?我做了几次谷歌搜索,但没有成功.
我想在创建用户时为我的用户分配一个确认代码。而且我还在保存更新它们之前为一些列命名。所以我的 user.rb 看起来像这样(可能有点乱):
// user.rb
*** some code ***
before_save { titleize_column(:name)
titleize_column(:surname)
capitalize_column(:complaints)
capitalize_column(:education)
capitalize_column(:job)
capitalize_column(:complaintsdetails)
capitalize_column(:prediagnosis)
capitalize_column(:existingdiagnosis)
capitalize_column(:knownilnessesother)
capitalize_column(:usedmedicine)
capitalize_column(:operation)
capitalize_column(:trauma)
capitalize_column(:allergy)
capitalize_column(:otherhabits)
capitalize_column(:motherother)
capitalize_column(:fatherother)
capitalize_column(:siblingsother)
}
before_save :generate_confirmation_code
protected
def generate_confirmation_code
unless self[:confirmed]
if(self[:type] == 'Patient')
update_attribute :confirmation_code, SecureRandom.urlsafe_base64(20)
update_attribute :confirmed, false
else
update_attribute :confirmed, true
end
end
end
protected
def capitalize_column(attr)
unless self[attr].nil?
self[attr] = Unicode::capitalize self[attr]
end
end
protected
def titleize_column(attr)
unless self[attr].nil?
words = self[attr].split
words.each_with_index do |v,i|
words[i] = Unicode::capitalize v
end
self[attr] …Run Code Online (Sandbox Code Playgroud) 我需要在后台标记一组消息(我正在使用delayed_job gem)因为前景需要一些时间.所以我创建了一个ActiveJob类MarkMessagesAsReadJob,并传递了它user和messages变量,以便标记所有的messages读取user.
// passing the values in the controller
@messages = @conversation.messages
MarkMessagesAsReadJob.perform_later(current_user, @messages)
Run Code Online (Sandbox Code Playgroud)
在我的ActiveJob类中,我执行任务.
// MarkMessagesAsReadJob.rb
class MarkMessagesAsReadJob < ActiveJob::Base
queue_as :default
def perform(user, messages)
messages.mark_as_read! :all, :for => user
end
end
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试执行任务时,我收到错误 ActiveJob :: SerializationError(不支持的参数类型:ActiveRecord :: Associations :: CollectionProxy):
我读到我们只能将支持的类型传递给ActiveJob,我认为它无法序列化CollectionProxy对象.我该如何解决/修复此问题?
PS:我考虑过了
@messages.map { |message| MarkMessagesAsReadJob.perform_later(current_user, message) }
Run Code Online (Sandbox Code Playgroud)
但是我觉得一个接一个地标记它们非常昂贵.
我正在使用 Atlassian Bamboo 和 Maven 3 插件。当我推送代码并构建项目时,它似乎没有创建 jar,因此无法发布它。你可以在这里看到我的日志和pom
https://gist.github.com/bozmen/d842d9a3f9cb9b73559caa5658d11c27
或这里
// log
simple 15-Apr-2016 14:33:36 Build MavenTest - Merge - Build Job #51 (MERGE-MERGE-JOB1-51) started building on agent Second Local Agent
simple 15-Apr-2016 14:33:36
simple 15-Apr-2016 14:33:36 Build working directory is /opt/atlassian/home/bamboo/xml-data/build-dir/MERGE-MERGE-JOB1
simple 15-Apr-2016 14:33:36 Executing build MavenTest - Merge - Build Job #51 (MERGE-MERGE-JOB1-51)
simple 15-Apr-2016 14:33:36 Starting task 'Checkout Default Repository' of type 'com.atlassian.bamboo.plugins.vcs:task.vcs.checkout'
simple 15-Apr-2016 14:33:36 Updating source code to revision: 23b69330c4527209f95f1b4c3aa1f0a7db70cc55
simple 15-Apr-2016 14:33:36 Fetching 'refs/heads/master' …Run Code Online (Sandbox Code Playgroud)