我有一个类的名称,我想创建该类的实例,以便我可以遍历该类的架构中存在的每个rails属性.
我该怎么做呢?
在我们的一些开发人员机器上rake db:migrate添加尾部空格structure.sql非常烦人,因为每次对数据库进行更改时,我们必须首先从文件中删除所有尾随空格.
任何人都知道这可能是什么?空白从哪里来?它与PostgreSQL有关还是别的什么?
我有这个代码加载配置文件并读取所有值,它在运行应用程序时工作正常但当然在团队城市失败,因为appdomain的基本目录是构建脚本(psake)启动的地方.我知道我可以在执行测试之前将目录更改为build dir,但我认为最好不管是什么时候加载配置文件都能正常工作.
XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, cfgFile));
Run Code Online (Sandbox Code Playgroud)
有没有另一种方法可以让"BaseDirectory"真正起作用?我也尝试了以下相同的结果:
string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
XDocument.Load(Path.Combine(path, cfgFile));
Run Code Online (Sandbox Code Playgroud)
编辑1问题如下.我的解决方案基目录是"C:\ Project",所有编译的文件都复制到"C:\ Project\build".现在在psake构建脚本中,我有以下代码:
task Test -depends PrepareTests {
try {
#$old = pwd
#cd $build_dir
&$mspec $mspec_projects --teamcity
#cd $old
}
catch {
&echo "Error starting test runner"
Exit 1;
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我注释掉了目录的更改,这使得BaseDirectory成为构建文件/解决方案的位置而不是构建目录,无论我如何尝试访问它.如果你问我,有点令人困惑.
更新我真的很想知道是否有可能获得程序集的目录,无论启动应用程序域的应用程序位于什么目录中.怎么样?
我在上一个问题上进一步展开了.假设我从Post继承了BlogEntry和Comment.我现在想要自定义它们.对博客文章的评论不需要标题,但评论需要用户参考,所以我将这两个字段从Post移到评论和博客条目中,如下所示:
public abstract class Post
{
public virtual int Id { get; set; }
public virtual string Text { get; set; }
public virtual DateTime CreatedAt { get; set; }
}
public class BlogEntry : Post
{
public virtual string Header { get; set; }
public virtual Blog Blog { get; set; }
public virtual IEnumerable<Comment> Comments { get; set; }
}
public class Comment : Post
{
public virtual string Header { get; set; }
public virtual …Run Code Online (Sandbox Code Playgroud) 直到最近,我的机器上的一切工作正常,但是几天后我一直在Encoding::UndefinedConversionError: U+2713 from UTF-8 to US-ASCII从浏览器向服务器发布内容时出现错误.
首先,由于涉及帖子,我尝试了向数据库添加编码最明显的事情.
development:
adapter: postgresql
hostname: localhost
port: 5432
username: mikael
password:
database: dev
encoding: utf8
Run Code Online (Sandbox Code Playgroud)
如果我安装ruby-debug19和ruby-debug-base19并运行rails:
rails s --environment=development --debug
Run Code Online (Sandbox Code Playgroud)
现在一切正常.我该如何找出问题的原因,以便我可以解决它?
编辑1:
1.9.3p0 :001 > Encoding.default_internal
=> #<Encoding:UTF-8>
1.9.3p0 :002 > Encoding.default_external
=> #<Encoding:UTF-8>
Run Code Online (Sandbox Code Playgroud)
编辑2: 如果我在生产模式下运行一切正常.
我应该使用什么来将文件写入响应?我认为有两种不同的选择.选项一是将文件读入流中,然后将字节写入浏览器
Response.BinaryWrite(new bytes[5])
Run Code Online (Sandbox Code Playgroud)
下一个选项是直接使用Response.WriteFile从文件系统中写入文件.这两种方法有什么优点/缺点?
编辑:纠正错别字
我正在尝试asp.net mvc2应用程序中的一些全球化,但无法让它完全运行.我使用图书馆http://github.com/nje/jquery-glob作为工具,根据用户的意愿显示货币和日期等.然而有些事情让我感到困扰.IU无法使用jQuery实际接受全球化的客户端/服务器端验证.无论我尝试什么,如果我回发40.00一切正常,但如果我发布40,00它被接受为0(不是有效的.NET不变十进制值).我试着按照@haacked的指南
这是在服务器端处理的global.asax中:
private void SetCulture(string currencySymbol)
{
AjaxHelper.GlobalizationScriptPath =
http://ajax.microsoft.com/ajax/4.0/1/globalization/";
var culturePref = "sv-SE";
var request = HttpContext.Current.Request;
if (request.UserLanguages == null)
return;
var lang = request.UserLanguages[0];
if (lang != null) {
try {
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(lang);
}
catch {
Thread.CurrentThread.CurrentCulture =
new CultureInfo(culturePref);
}
}
Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture;
}
Run Code Online (Sandbox Code Playgroud)
然后在客户端,我包括以下脚本:
<script src="/Scripts/jquery-1.4.2.js" type="text/javascript"></script>
<script src="/Scripts/jquery.glob.js" type="text/javascript"></script>
<script src="/Scripts/globinfo/jquery.glob.sv-SE.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$.culture = jQuery.cultures['sv-SE'];
$.preferCulture('sv-SE');
});
</script>
<script src="/Scripts/jquery.validate.js" type="text/javascript"></script> …Run Code Online (Sandbox Code Playgroud) 如何将浏览器视口置于元素位置的中心?
我可以找到几个实现相反的例子但没有关于屏幕中心元素的内容.
编辑:我说的是将屏幕垂直对中一个元素.
我希望开始救援将比率设置为零,但是NaN当我挽救错误以提供默认值时,它会设置为令人难以置信的令人沮丧.
ratio = begin
0.0 / 0.0
rescue ZeroDivisionError
0
end
ratio = 0 if ratio.nan?
Run Code Online (Sandbox Code Playgroud)
我想摆脱的代码是ratio = 0 if ratio.nan?为什么需要它?
编辑 新代码如下:
ratio = bet_money_amount_cents.to_f / total_amount.to_f
ratio.nan? ? 0 : ratio
Run Code Online (Sandbox Code Playgroud) 在git中合并时如何强制"我的更改"?有人把所有bin目录放在git中,现在我有一个可怕的合并冲突:(
现在它说如下:
当你解决了这个问题后,运行"git rebase --continue".如果您希望跳过此补丁,请运行"git rebase --skip".要恢复原始分支并停止重新运行,请运行"git rebase --abort".
我不想合并,我只是想使用我的更改删除所有这些文件.
编辑:大多数文件已成功合并,通过自动合并或因为没有冲突.但是仍然有很多像下面这样的存在.
警告:无法合并二进制文件:src/reports/obj/Debug/TempPE/GroupMailDS.Designer.cs.dll(HEAD与添加的gitignore)