我在我的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)
谢谢!
我试图在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 .多谢你们!
我已经在各种项目中看到(并使用过)这种布局,其中一组字段后跟一组属性:
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,但有时它可以方便地使用在其上运行的属性旁边的字段.
注意:我假设不能使用自动实现的属性的非平凡属性.
我想为我正在研究的一个小红宝石项目编写一个架构文档,并且作为一个架构文档,它将从一些盒子和棒图中受益.
在这种情况下,开源项目的成功是什么?我应该练习我的ASCII艺术,还是应该在我的doc文件夹中包含PDF或其他东西?
请注意,这是一个独立的文档,而不是从代码生成的API文档.
在Xcode中编写Objective-C Cocoa应用程序时,如何获取用于存储每个应用程序每个应用程序设置的文件夹的引用?
在.NET中我会使用Environment.SpecialFolder枚举:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Run Code Online (Sandbox Code Playgroud)
什么是Cocoa等价物?
我有一个RDL报告,这是一个名单 - 它是一个网格:
我正在通过MS报告服务器提供报告.
我希望能够突出显示包含查看报告的人姓名的单元格.所以我真的有两个问题:
如果我无法自动获取其名称,我可以提供一个报告参数,允许他们手动输入其名称.
第二个问题是:
我在使用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中在控制台中排列彩色表格数据?
我有一个服务器应用程序,通过网络接收信息并对其进行处理.服务器是多线程的,并且一次处理多个套接字,并且通过BeginInvoke和EndInvoke样式方法在没有我控制的情况下创建线程,这些方法由相应的回调函数链接.
我正在尝试创建一个表单,除了主GUI之外,它还显示一个ListBox项目,该项目由描述当前连接的套接字的项目填充.所以,我基本上要做的是使用其Add()函数向ListBox添加一个项目,从该线程运行相应的回调函数.我通过Controls属性访问我的表单控件 - IE:
(ListBox)c.Controls["listBox1"].Items.Add();
Run Code Online (Sandbox Code Playgroud)
当然,我不只是调用函数,我试过几种方法,我在这里和在网络上找到线程间的通信,包括MethodInvoker,使用delegate,与组合Invoke(),BeginInvoke()等似乎没有任何工作,我总是得到同样的异常告诉我,我的控件是从一个创建它以外的线程访问的.
有什么想法吗?
我想设置一个自动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?
谢谢!
我陷入了ReSharper和StyleCop之间的争斗中,我想让ReSharper获胜,但我希望在我这样做之前听到支持StyleCop的论据.
当我写长参数列表时,ReSharper明智地切断参数列表并在下一行重新启动它.我发现它更具可读性.
当我在代码上运行StyleCop时,它希望我将这些行保留很长时间.我不喜欢这样,所以我想忽略StyleCop规则(SA1115).我想不出SC为什么会首先想要这些长线的一个很好的理由 - 这只是"我们总是这样做"的情况吗?
减肥/增益的基本方程是:
weight_change = convert_to_weight_diff(calories_consumed - calories_burnt);
Run Code Online (Sandbox Code Playgroud)
我正在开心,就像一个好书呆子一样,我以为我会开始跟踪这些事情并编写一些软件来处理我的数据.我没有足够的注意力和纪律来计算食物中的卡路里,所以我认为我会倒退:
这样我就可以根据我的运动量和体重记录生成一个近似的"消耗卡路里"图表,并在我想要吃甜甜圈时用它来激励自己.
我坚持的是功能:
int convert_to_weight_diff(int calorie_diff);
Run Code Online (Sandbox Code Playgroud)
有谁知道该函数的伪代码?如果你有一些细节,请确保你说明我们是否谈论卡路里,卡路里,千焦耳,磅,公斤等.
谢谢!
c# ×2
forms ×2
ansi-colors ×1
cocoa ×1
coding-style ×1
conditional ×1
console ×1
diagramming ×1
has-one ×1
highlight ×1
invoke ×1
layout ×1
macos ×1
migration ×1
parameters ×1
preferences ×1
printf ×1
pseudocode ×1
reference ×1
resharper ×1
rsync ×1
ssh ×1
stylecop ×1
terminal ×1