我是铁路新手。我目前在 Rails 上进行调试的方法是:
这不是我喜欢的工作流程。这很乏味。我真的很喜欢 jet Brain 的调试模式,因为我可以轻松地设置断点、停止、计算表达式、查找所有可用对象并单步执行特定方法。有没有办法用 Rails 来做到这一点?
我想在 rubydoc 中为参数或变量或@return. (一定是RDoc?..)
主要原因是让 RubyMine(或其他 IDE)以正确的方式支持自动完成功能、可点击方法、重构等。
在 PHP 中将如下所示:
/**
* @param array $items
* @param Filter[] $filters
* @return Result[]
*/
function filter($items, $filters) {}
Run Code Online (Sandbox Code Playgroud)
我只是不确定它是否可以在 RubyMine 中以类似的方式工作:
##
# @param [Array] items
# @param [Filter[]] filters
# @return [ResultClass[]]
#
def filter(items, filters); end
Run Code Online (Sandbox Code Playgroud)
PHP 中的额外示例:
class My
{
public $name;
}
/**
* @return My[]
*/
function foo()
{
// Similar code here
//return [new My(), new My()];
}
function show()
{
foreach (foo() …Run Code Online (Sandbox Code Playgroud) JetBrains 的 IDE 有一个数据库客户端,您可以在其中查看不同的表行/列。
我有一个包含数百列的表。有没有办法跳转/搜索特定列?否则,滚动浏览所有列并手动搜索是非常烦人的。
我正在使用 IntelliJ、RubyMine 数据库客户端,但我认为这对于 JetBrains 的所有 IDE 来说都是相同的快捷方式/方式。
与我熟悉的C#开发代码完成相比,我发现RubyMine提供的代码完成程度令人惊讶地不完整.
当我用一些方法编写一个类并且我想从另一个类调用它们时,
为什么我得到一个类似于"一英里"长的代码完成列表,但是没有相关的方法建议呢?
(或者这是我的RubyMine中的错误/功能?!)
有些类像ActionMailer 神奇地生成像"deliver_*"方法一样的方法(参见本例)......由于我在代码完成时没有看到它们,我怎么知道它们甚至存在?
(不幸的是,我现在也得到一个错误,那个deliver_contact方法不存在......正如我完全从示例中复制过来问我自己现在这个特征仍然存在8 []
他们有什么方法可以解决这些问题吗?
我正在开发一个基本上通过表单与db表交互的Web应用程序.最近我不得不进行一些更改,这导致我在db表中添加了另一列.我正在使用RubyMine进行开发,无法弄清楚如何更新模型以使其包含新列.我已将其添加到模型中,如下所示:
class Student < ActiveRecord::Base
attr_accessible :f_name, :floor_pref, :l_name, :is_active
validates_presence_of :f_name, :floor_pref, :l_name
end
Run Code Online (Sandbox Code Playgroud)
我还在schema.rb中添加了它:
ActiveRecord::Schema.define(:version => 20130620140537) do
create_table "students", :force => true do |t|
t.string "f_name"
t.string "l_name"
t.string "floor_pref"
t.boolean "is_active"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
end
Run Code Online (Sandbox Code Playgroud)
并且也在迁移内部如此:
class CreateStudents < ActiveRecord::Migration
def change
create_table :students do |t|
t.string :f_name
t.string :l_name
t.string :floor_pref
t.boolean :is_active
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
问题是当我运行rails控制台并查找我的模型对象时,它没有显示我添加的新列(:is_active).它只显示旧列:
>> Student
Loading development environment (Rails 3.2.13)
Switch to …Run Code Online (Sandbox Code Playgroud) 我正在使用Ruby mine在rails应用程序上构建ruby.一切都很好.我创建了新项目,然后按Ctrl + Alt + G. 从发电机选项我选择控制器.然后我得到一个窗口,我必须在其中命名控制器和操作.当我选择不同的动作时,会在以我的动作命名的控制器中创建相应的功能.如果我按下该功能名称左侧的图标,我会获得为具有extension.html.erb的特定功能打开的视图文件.这很好.但是,如果我忘记在控制器对话框中添加一个或多个动作,该怎么办?然后据说我必须添加一个名称是我想要的视图的函数.即
def functionname
end
Run Code Online (Sandbox Code Playgroud)
现在当我点击这个功能名的左侧时.我可以选择创建扩展名为.html.erb的文件.所有这一切都很好.但是,当我构建此应用程序并尝试访问此新创建的视图时,我收到以下错误
Routing Error
No route matches [GET] "/say_hello/sona"
Try running rake routes for more information on available routes.
Run Code Online (Sandbox Code Playgroud)
如何向控制器添加视图,除了使用该控制器向导?之后我不能添加视图吗?`
我一直在使用Rubymine和Git进行raketask.我一直在使用SourceTree将我的更改推送到github.
我不小心在源代码树中为我正在处理的文件选择了"删除"选项.这种方法显然使文件"无可挽回地丢失",这并没有给我太多希望.反正有没有恢复文件?它还没有提交也没有推到github,而且文件不在我当地的垃圾箱里.
究竟为什么将浮点值 1.0 与整数值 1 进行比较会返回 true?
puts '1.0'.to_i
puts '1.0'.to_i == 1.0 #so 1 == 1.0 is true?
puts 1.0 == 1 #wtf?
Run Code Online (Sandbox Code Playgroud)
Ruby是否只读取浮点值的第一部分然后短路?有人可以通过一些文档的链接进行解释吗?我翻阅了 API,但我什至不知道在这种情况下要寻找什么......