一点背景:
我使用PowerShell在Windows XP上的工作,我设置了一堆有用的快捷键Microsoft.PowerShell_profile.ps1中My Documents,试图效仿苹果的启发环境瑞恩·贝茨的快捷键
我有类似的东西:
Set-Alias rsc Rails-Console
function Rails-Console {Invoke-Expression "ruby script/console"}
Run Code Online (Sandbox Code Playgroud)
在命令提示符下,我说:
rsc #it calls the proper command
Run Code Online (Sandbox Code Playgroud)
但是这不能正常工作
Set-Alias rsg Rails-Generate
function Rails-Generate {Invoke-Expression "ruby script/generate"}
Run Code Online (Sandbox Code Playgroud)
所以当我这样做时:
rsg model User
Run Code Online (Sandbox Code Playgroud)
应该叫
ruby script/generate model User
Run Code Online (Sandbox Code Playgroud)
所有它都是
ruby script/generate #Dumping my params
Run Code Online (Sandbox Code Playgroud)
那么我如何正确地修改我的函数以获取我发送给函数的参数?
谢谢!!
我有几个需要在所有控制器中调用的变量.在布局页脚中显示最新消息.
我在application_controller.rb中创建它们
@hq_news_item = NewsItem.where(:branch_code => "CORP").first
@branch_news_item = NewsItem.where(:branch_code => "MN").first
Run Code Online (Sandbox Code Playgroud)
在我的layouts/application.html.haml中
= render :partial => "layouts/footer_news" , :hq_news_item => @hq_news_item, :branch_news_item => @branch_news_item
Run Code Online (Sandbox Code Playgroud)
然后在我的布局/ _footer_news中我设计它们
= hq_news_item.title
= hq_news_item.author.name
... etc
Run Code Online (Sandbox Code Playgroud)
这是事情,无论我做什么 - 它一直说hq_news_item是部分未定义的.
我所有的其他部分工作正常.我认为这与布局而非视图这一事实有关.在文档中找不到任何有意义的内容.
有任何想法吗?
谢谢.
请考虑以下代码:
//Focus on the field on page load.
$("#user_login").focus();
//Remove prompt after a couple of seconds.
window.setTimeout(function() {
$("#user_login").blur();},
3000);
Run Code Online (Sandbox Code Playgroud)
我有几个工具提示和其他事件绑定到焦点上的#user_login输入.但是不要惹恼用户,我想在几秒钟之后删除焦点.
这是我现在正在做的一种方式 - 因为我可以理解delay()在这种情况下不起作用.还有其他纯粹的jquery方法吗?有点像:
$("#user_login").focus().delay(3000).blur();
Run Code Online (Sandbox Code Playgroud)
谢谢
PS:我的解决方案现在正常工作,这更多用于教育目的.
我在lib文件夹中的Rails 3.2应用程序中有一堆自定义类:即扩展ActiveRecord等.一切正常.
但是,我正在尝试向FileUtils添加一些自定义方法,即
module FileUtils
def last_modified_file(path='.')
# blah ...
end
end
Run Code Online (Sandbox Code Playgroud)
我把它放在lib/file_utils.rb中我的application.rb我有
config.autoload_paths += %W(#{config.root}/lib)
Run Code Online (Sandbox Code Playgroud)
我的其他自定义分类已加载但不是模块.
我读过(在Rails 3中从lib文件夹加载模块/类的最佳方法?)我应该在模块内部定义一个类,以便Rails根据FileUtils.class来获取它 - 它应该是Object <BasicObject .
所以我试过了
module FileUtils
class Object
def last_modified_file(path='.')
# blah ...
end
end
end
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.
然而,当我启动irb并且只是粘贴我的代码,它有效地将我的新代码放入对象并重新包含我的模块 - 它工作正常.
Whaat amd我在这里失踪了?
考虑这个ruby示例
class Animal
def walk
# In our universe all animals walk, even whales
puts "walking"
end
def run
# Implementing to conform to LSP, even though only some animals run
raise NotImplementedError
end
end
class Cat < Animal
def run
# Dogs run differently, and Whales, can't run at all
puts "running like a cat"
end
def sneer_majesticly
# Only cats can do this.
puts "meh"
end
end
Run Code Online (Sandbox Code Playgroud)
方法是否sneer_majesticly违反LSP,仅在Cat上定义,因为Animal上没有实现这个接口也不需要它?
我有一个表类别,它是一堆其他模型的多态模型.例如
型号地址有运费,账单,家庭,工作类别
型号手机有家庭,移动,工作,传真类别
model产品有医疗,设备,汽车,航空航天等类别.
我想要做的就是这样
Product.all_categories和get以及特定于此模型的所有类别的数组.
当然,对于每个有问题的模型,我都可以这样做:
Category.select("name").where("categorizable_type = ?","address")
Run Code Online (Sandbox Code Playgroud)
另外,pace_car - rails 3就绪,允许我做这样的事情:
Category.for_category_type(Address)
Run Code Online (Sandbox Code Playgroud)
但我想知道使用Active Record iteself是否有更直接/更优雅的解决方案 - 不依赖于宝石?
谢谢
polymorphism activerecord polymorphic-associations ruby-on-rails-3
ruby ×2
activerecord ×1
alias ×1
blur ×1
delay ×1
dotfiles ×1
focus ×1
jquery ×1
layout ×1
liskov-substitution-principle ×1
module ×1
oop ×1
partial ×1
polymorphism ×1
powershell ×1
settimeout ×1