小编Gav*_*Gav的帖子

如何计算Git存储库中特定作者更改的总行数?

是否有一个我可以调用的命令,它将计算Git存储库中特定作者更改的行?我知道必须有方法来计算提交次数,因为Github会为其影响图执行此操作.

git statistics command-line repository

420
推荐指数
17
解决办法
24万
查看次数

Rails:named_scope,lambda和blocks

我认为以下两个是等价的:

named_scope :admin, lambda { |company_id| {:conditions => ['company_id = ?', company_id]} }

named_scope :admin, lambda do |company_id| 
  {:conditions => ['company_id = ?', company_id]}
end
Run Code Online (Sandbox Code Playgroud)

但Ruby抱怨道:

ArgumentError: tried to create Proc object without a block
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ruby lambda ruby-on-rails

52
推荐指数
4
解决办法
2万
查看次数

Git并在多个分支机构工作

我有几个Git分支:'实验','某事'和'主人'.

我切换到'实验'分支.我注意到一个与"实验"无关的错误,属于"某事"中的变化.我该如何解决?

我想我应该转向'某事',修复bug,提交然后再回到'实验'.我应该如何从'某些'中做出微小的改变并将其应用于'master'和'experimental',以便在切换到这些分支时我不必再次修复bug?

git version-control branch

42
推荐指数
2
解决办法
2万
查看次数

在Rails中渲染部分时,'locals'可以与'collection'一起使用吗?

当我尝试渲染这样的部分时,一切正常:

= render :partial => "/shared/enquiry/car_type", :collection => @enquiry.available_car_types
Run Code Online (Sandbox Code Playgroud)

但是,如果我还想传递一个变量(在这种情况下是'path',因为我在两个表单中共享这个部分),我无法使用该路径:

= render :partial => "/shared/enquiry/car_type", :collection => @enquiry.available_car_types, :locals => {:path => customers_enquiry_path}
Run Code Online (Sandbox Code Playgroud)

我尝试过移动的东西,但似乎没有任何工作,让我相信一个人不能使用收藏品的本地人.任何帮助,将不胜感激.

GAV

ruby-on-rails

16
推荐指数
4
解决办法
7034
查看次数

在Rails中干燥视图(number_to_currency)

我的代码类似于:

number_to_currency(line_item.price, :unit => "£")

在各种模型中乱丢我的观点.由于只有在英镑(£)我的应用程序处理,我不应该提出这个到我的每一个模型,以便line_item.price返回,因为它应该是字符串(即number_to_currency(line_item.price, :unit => "£")line_item.price是一样的,我想,这样做我应该:

def price
 number_to_currency(self.price, :unit => "£")
end
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果price在模型中已经定义,那么Rails的报告"堆栈级别太深",当我改变def pricedef amount,然后抱怨说number_to_currency没有定义?

views ruby-on-rails dry

11
推荐指数
3
解决办法
9112
查看次数

在Rails 3中创建SEO友好URL

我目前的网址如下:

things?category_id=6&country_id=17
Run Code Online (Sandbox Code Playgroud)

我希望网址看起来像这样:

/printer_cartridges/united_kingdom
Run Code Online (Sandbox Code Playgroud)

在Rails 3中是否有一种方法,没有对路由器中的所有类别和国家进行硬编码以获得我想要的URL,可能使用find_by_name或类似的?解决这个问题的最佳方法是什么?

routing routes ruby-on-rails custom-routes

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

重构DRYness的控制器代码

在我的控制器的创建和更新操作中,我有很多这样的语句:

@company.set_preference(:api_username, params[:company]['api_username']) if params[:company]['api_username']
@company.set_preference(:api_password, params[:company]['api_password']) if params[:company]['api_password']
Run Code Online (Sandbox Code Playgroud)

我想知道如何重构这些以使我的代码更干燥.我敏锐地意识到他们可能属于模型(re:脂肪模型和瘦的控制器),但我不知道该怎么做.有人可以开导我吗?

在此先感谢您的时间,

GAV

ruby-on-rails dry

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

从param*name*中提取值?

我有一个带有名称和值的params列表,如下所示:

date_2009-09-16 => ["50.00"]
date_2009-09-17 => ["60.00"]
date_2009-09-18 => ["90.00"]
Run Code Online (Sandbox Code Playgroud)

我想在我的数据库中为每个日期保存一条记录,如下所示:

|id | date       | price|
|1  | 2009-09-16 | 50.00|
|2  | 2009-09-17 | 60.00|
|3  | 2009-09-18 | 90.00|
Run Code Online (Sandbox Code Playgroud)

如何从参数名称中提取日期(这可能吗?!)?

更新:

虽然我仍然不确定如何做Eimantas的答案,但我可以澄清我的表格发送的参数:

Parameters: {
"commit"=>"Save",
"method"=>"put",
"controller"=>"rates",
"action"=>"create",
"authenticity_token"=>"A0wP8Dq7cVOM+bLIcdPENzRhg6T1Mwhjqob1UYTk1Jk=",
"date_2009-09-16"=>"50.00",
"date_2009-09-17"=>"60.00",
"date_2009-09-18"=>"90.00",
"rate"=>{"year"=>"2009", "product_type_id"=>"2"}
}
Run Code Online (Sandbox Code Playgroud)

我认为日期应该属于params散列的速率部分,但是Rails不会将它们放在那里.

更新2:

我想知道你是否可以看到我的费率表,那么它可能有助于我(并防止你的挫折!).我试图允许客户在我的视图中将30个值放入30个框中(在本例中为9月的每一天),并且在我的控制器中,在他们点击"保存"后,将其保存为30个记录.

id | date       | price | product_type_id |
.. | ..         | ..    | ..              |
16 | 2009-09-16 | 50.00 | 1               |
17 | 2009-09-17 | 60.00 | …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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