小编dan*_*anv的帖子

Rake默认任务和命名空间

我已经阅读了文档,并查看了很多示例,但我不清楚默认值和命名空间.(使用rake,版本10.0.3)

首先看来,虽然我不记得明确地看到这一点,但无论定义了多少,都只能有一个默认任务.显然,加载顺序(PROJECT_NAME :: Application.load_tasks)决定了胜利者.当我努力创建命名空间默认值时,我发现我有时会覆盖rails应用程序的正常默认值,其中:

rake
Run Code Online (Sandbox Code Playgroud)

默认运行测试.

首先是"rake -T"命令:

$ rake -T a_name
rake a_name:a_task_1         # a_task_1
rake a_name:a_task_2         # a_task_2
rake a_name:b_name:b_task_1  # b_task_1
rake a_name:b_name:b_task_2  # b_task_2
rake a_name:default          # This is hopefully a namespaced default
Run Code Online (Sandbox Code Playgroud)

当我运行命名空间时,我希望是"默认",我得到:

$ rake a_name
rake aborted!
Don't know how to build task 'a_name'

(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

我期望在b_name命名空间中运行b_task_1,因为我已将其声明为默认值

但是,如果我明确指出"默认"这个词,我会得到这个:

$  rake a_name:default
a_task_1
Run Code Online (Sandbox Code Playgroud)

无论如何,我彻底困惑.任何人都可以帮我澄清一下......

namespace :a_name do

  desc "a_task_1"
  task :a_task_1 do
    puts "a_task_1"
  end

  desc "a_task_2"
  task :a_task_2 …
Run Code Online (Sandbox Code Playgroud)

rake default namespaces task

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

处理rails中的旧数据库视图

我是ruby和rails的新手,我很难将MVC技术与数据库视图结合起来.我正在处理一个遗留数据库,它有几个用于生成报告的视图.

我迷路的地方是如何实际使用数据库视图.它应该放在模型中吗?如果是这样的话究竟是什么样子?

例如,遗留数据库有一个名为qryTranscriptByGroup的视图.它在遗留应用程序中用于SQL语句,例如"SELECT*FROM qryTranscriptByGroup WHERE group ='test_group'".这会返回少量通常小于100的记录.

如果我创建一个模型,Transcript,我如何定义像Transcript.find_by_group(group)这样的方法?同样,似乎我可能需要阻止任何其他"查找"方法,因为它们在此上下文中将无效.

还有一个事实是视图是只读的,我需要阻止任何创建,更新或销毁它的尝试.

也许我完全以错误的方式解决这个问题.最重要的是,我需要从几个表(模型?)中获取信息,这些表代表有关用户的信息(成绩单).实际上是一个或多个用户(成绩单复数).

-谢谢!

views ruby-on-rails models legacy-database

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