3

我是第一次使用Redmine,并且能够在本地成功安装它。我以前没有使用过 Ruby,而且我来自 Java 背景。

我可以通过以下方式运行该应用程序 -

http://localhost:3000/projects

问题是,我在哪里可以找到对应于 .html 的 html 文件(如果存在)http://localhost:3000/projects。在 Java 中,我们可以通过查看 web.xml 或相关的 Spring 配置文件并查看 URL 如何映射到 servlet 或控制器来做到这一点。如何在 Ruby 中做到这一点?

4

4 回答 4

2

web.xml 的对应物是 ruby​​ 中的 routes.rb 和 config.rb 文件。您将在 config 目录中找到它们。routes.rb 定义了哪个控制器和动作(很像 servlet)将处理某个请求(URL)。而且由于 Rails 有预定义的约定,所有的 html 文件都放在以控制器命名的文件夹中,在 views 目录中,按照约定,与已调用的控制器操作的名称相同的 html 文件将呈现为响应。

但如果需要,所有这些都可以被覆盖。

这是开始了解 Rails 的好地方:http: //guides.rubyonrails.org/

于 2013-08-06T19:14:14.100 回答
1

在 Rails 中,您可以查看项目文件夹内 config 文件夹中的 routes.rb 文件,找到到 Web 应用程序路由的所有映射。

例如,如果您想在项目中配置索引页面,请删除 public 文件夹中的 index.html.erb 并执行以下操作:

root :to => "yourController#someAction"

对于具有 Java 背景的人来说,理解路由并不是一件容易的事。但这应该会有所帮助。

于 2013-08-06T19:17:40.550 回答
1

请注意,Ruby 与 Rails 不同。

Ruby 和 Java 一样,是一种编程语言。它出现在 1995 年。例如,以下是您可以从命令行执行的脚本/程序。

#!/usr/bin/env ruby
puts "Hello World"

Rack是 Ruby 的 Web 服务器接口。它处理 HTTP 协议,并通过使解析 HTTP 请求和发送 HTTP 响应变得容易,从而允许使用 Ruby 编写 Web 应用程序。

Rails 是一个具有强大约定、模式和工具的 Web 框架,用于在 Ruby 中开发 Web 应用程序。它的某些部分使用 Rack。它出现在 2004 年。Sinatra是另一个使用 Rack 的 Web 框架的示例。

web.xmlRuby中的等价物是什么?

它不存在。

web.xmlRack 中的等价物是什么?

大概config.ru

web.xmlRails 中的等价物是什么?

config/routes.rbconfig/application.rb。请参阅配置 Rails 应用程序

路线

要找出对应的 html 文件http://localhost:3000/projects,请查看config/routes.rb. 如果你看到

resources :projects

然后它由 ProjectsController 中的 index 操作处理,视图位于app/views/projects/index.*.

于 2013-08-06T19:53:33.937 回答
1

Rails 遵循约定优于配置原则,因此所有视图都可以在

app/views/

并且您正在寻找的应该是(取决于 Redmine 模板处理器)

app/views/projects/index.html.erb

还有一个约定是视图文件被命名为

path/to/view/_action_name_._content_type_._processor_
于 2013-08-06T19:08:14.493 回答