小编Ste*_*son的帖子

如果我使用:class_name属性到has_one,我应该在迁移中添加什么?

我在我的Rails应用程序中有一个模型,它使用以下:class_name属性has_one:

class Foo < ActiveRecord:Base
  has_one :main_bar, :class_name => "Bar"

  # ...
end
Run Code Online (Sandbox Code Playgroud)

我现在有点不确定该课程的迁移内容.我可以使用推荐信吗?Rails会将什么作为列名寻找:main_bar?我可以这样做吗?

class CreateFoos < ActiveRecord::Migration
  def self.up
    create_table :foos do |t|
      t.references :main_bar
    end
  end

  def self.down
    drop_table :foos
  end
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

migration ruby-on-rails reference has-one

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

使用带参数和form_tag的命名路由

我试图在Rails中创建一个简单的搜索表单,但我想我错过了一些东西.

我有一个命名的搜索路线:

map.search ":first_name/:last_name", :controller => "home", :action => "search"
Run Code Online (Sandbox Code Playgroud)

我正在尝试在我的搜索表单中使用它:

<% form_tag(search_path, :method => 'get') do %>
  <%= text_field_tag(:first_name) %>
  <%= text_field_tag(:last_name) %>
  <%= submit_tag("Search") %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是当我加载搜索表单时,我得到一个ActionController :: RoutingError:

search_url无法从{:action =>"search",:controller =>"home"}生成 - 您可能有不明确的路线,或者您可能需要为此路线提供其他参数.content_url具有以下必需参数:[:first_name,:last_name] - 它们是否都满足?

我错过了什么?我认为我的表单中定义的字段会自动与我的路由参数相关联.: - /

更新:

我知道search_path是在现在显示表单之前生成的,因此无法更新.后见之明显而易见!

我改变了路线:

map.search 'search', :controller => "home", :action => "search"
map.name ':first_name/:last_name', :controller => "home", :action => "name"
Run Code Online (Sandbox Code Playgroud)

现在这个search动作就是:

def search
  redirect_to name_path(params)
end
Run Code Online (Sandbox Code Playgroud)

这一切都有效!这里的主要目标是通过搜索结果从名为route 的名称获取该URL .多谢你们!

forms parameters ruby-on-rails named-routing

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

您是将私人领域分组还是将其与其财产分开?

我已经在各种项目中看到(并使用过)这种布局,其中一组字段后跟一组属性:

private int MyIntField;
private string MyStringField;

public int MyInt { 
    get { return MyIntField; }
    set { MyIntField = value; }
}    
public string MyString { 
    get { return MyStringField; }
    set { MyStringField = value; }
}
Run Code Online (Sandbox Code Playgroud)

而且我也遇到了这个布局,其中包含了属性旁边的字段:

private int MyIntField;
public int MyInt { 
    get { return MyIntField; }
    set { MyIntField = value; }
}    

private string MyStringField;
public string MyString { 
    get { return MyStringField; }
    set { MyStringField = value; }
}
Run Code Online (Sandbox Code Playgroud)

有理由考虑一个比另一个好吗?我认为大多数编码标准都会推荐选项#1,但有时它可以方便地使用在其上运行的属性旁边的字段.

注意:我假设不能使用自动实现的属性的非平凡属性.

c# layout coding-style

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

在github项目中有图表的文档?

我想为我正在研究的一个小红宝石项目编写一个架构文档,并且作为一个架构文档,它将从一些盒子和棒图中受益.

在这种情况下,开源项目的成功是什么?我应该练习我的ASCII艺术,还是应该在我的doc文件夹中包含PDF或其他东西?

请注意,这是一个独立的文档,而不是从代码生成的API文档.

documentation diagramming

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

Cocoa相当于.NET的Environment.SpecialFolder用于保存首选项/设置?

在Xcode中编写Objective-C Cocoa应用程序时,如何获取用于存储每个应用程序每个应用程序设置的文件夹的引用?

在.NET中我会使用Environment.SpecialFolder枚举:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Run Code Online (Sandbox Code Playgroud)

什么是Cocoa等价物?

cocoa preferences

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

如何在Microsoft Reporting Services RDL报告中有条件地突出显示字段?

我有一个RDL报告,这是一个名单 - 它是一个网格:

  • 每行代表一天
  • 每列代表一个任务
  • 每个单元格包含当天执行该任务的人员的姓名.

我正在通过MS报告服务器提供报告.

我希望能够突出显示包含查看报告的人姓名的单元格.所以我真的有两个问题:

  • 是否可以从将其请求发送到报表服务器的环境变量中获取人员的姓名?更一般地说,如何查看发送的环境变量列表?

如果我无法自动获取其名称,我可以提供一个报告参数,允许他们手动输入其名称.

第二个问题是:

  • 假设我在字符串中有一个名称,我如何有条件地格式化报告中包含该字符串的单元格?

conditional highlight microsoft-reporting

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

如何阻止ANSI颜色代码搞乱printf对齐?

我在使用ruby printf时发现了这个,但它也适用于C的printf.

如果在输出字符串中包含ANSI颜色转义码,则会弄乱对齐.

红宝石:

ruby-1.9.2-head > printf "%20s\n%20s\n", "\033[32mGreen\033[0m", "Green"
      Green          # 6 spaces to the left of this one
               Green # correctly padded to 20 chars
 => nil
Run Code Online (Sandbox Code Playgroud)

C程序中的同一行产生相同的输出.

无论如何得到printf(或其他东西)来对齐输出而不是为非打印字符添加空格?

这是一个错误,还是有充分的理由呢?

更新:由于在ANSI代码和宽字符时无法依赖printf来对齐数据,有没有最佳实践方法在ruby中在控制台中排列彩色表格数据?

language-agnostic terminal console printf ansi-colors

3
推荐指数
2
解决办法
2999
查看次数

需要帮助在UI线程和C#中的另一个线程获取信息

我有一个服务器应用程序,通过网络接收信息并对其进行处理.服务器是多线程的,并且一次处理多个套接字,并且通过BeginInvoke和EndInvoke样式方法在没有我控制的情况下创建线程,这些方法由相应的回调函数链接.

我正在尝试创建一个表单,除了主GUI之外,它还显示一个ListBox项目,该项目由描述当前连接的套接字的项目填充.所以,我基本上要做的是使用其Add()函数向ListBox添加一个项目,从该线程运行相应的回调函数.我通过Controls属性访问我的表单控件 - IE:

(ListBox)c.Controls["listBox1"].Items.Add();
Run Code Online (Sandbox Code Playgroud)

当然,我不只是调用函数,我试过几种方法,我在这里和在网络上找到线程间的通信,包括MethodInvoker,使用delegate,与组合Invoke(),BeginInvoke()等似乎没有任何工作,我总是得到同样的异常告诉我,我的控件是从一个创建它以外的线程访问的.

有什么想法吗?

c# forms multithreading invoke

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

OS X 使用 ssh_config 在 sudo 下运行 rsync

我想设置一个自动rsync作业来将我的 OS X 机器上的一堆用户帐户备份到 linux 文件服务器。我已经从我的帐户设置了无密码 ssh 到另一台机器,而且效果很好,所以我尝试使用以下命令:

sudo rsync -avz /Users/jbloggs myserv:/var/Backup/
Run Code Online (Sandbox Code Playgroud)

这里myserv是一个别名我的设置~/.ssh/config。我遇到的问题是我必须使用 sudo 才能使该命令起作用——在我的个人帐户下,我无权访问其他用户的主目录来复制文件以进行备份。该命令在没有 sudo 的情况下在我自己的帐户上运行良好,但是当我在 sudo 下运行时,它不再查看我的~/.ssh/config(因此它抱怨“未知主机 myserv”)。

如何让 rsync 在 sudo 下运行以仍然查看我的个人信息~/.ssh/config

谢谢!

macos ssh rsync

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

不包装长参数列表的可能理由是什么?(StyleCop SA1115)

我陷入了ReSharper和StyleCop之间的争斗中,我想让ReSharper获胜,但我希望在我这样做之前听到支持StyleCop的论据.

当我写长参数列表时,ReSharper明智地切断参数列表并在下一行重新启动它.我发现它更具可读性.

当我在代码上运行StyleCop时,它希望我将这些行保留很长时间.我不喜欢这样,所以我想忽略StyleCop规则(SA1115).我想不出SC为什么会首先想要这些长线的一个很好的理由 - 这只是"我们总是这样做"的情况吗?

resharper stylecop

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

将卡路里转换为重量

减肥/增益的基本方程是:

weight_change = convert_to_weight_diff(calories_consumed - calories_burnt);
Run Code Online (Sandbox Code Playgroud)

我正在开心,就像一个好书呆子一样,我以为我会开始跟踪这些事情并编写一些软件来处理我的数据.我没有足够的注意力和纪律来计算食物中的卡路里,所以我认为我会倒退:

  • 我每天都可以衡量自己
  • 我可以计算出我的BMR,因此我燃烧了多少卡路里
  • 我可以使用我的心率监测器来计算出我锻炼了多少卡路里

这样我就可以根据我的运动量和体重记录生成一个近似的"消耗卡路里"图表,并在我想要吃甜甜圈时用它来激励自己.

我坚持的是功能:

int convert_to_weight_diff(int calorie_diff);
Run Code Online (Sandbox Code Playgroud)

有谁知道该函数的伪代码?如果你有一些细节,请确保你说明我们是否谈论卡路里,卡路里,千焦耳,磅,公斤等.

谢谢!

pseudocode

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