Ruby与Java的web.xml相对应的是什么?

时间:2013-08-06 19:04:25

标签: java ruby-on-rails ruby redmine

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

我可以通过 -

运行该应用程序
http://localhost:3000/projects

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

4 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

中找到
app/views/

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

app/views/projects/index.html.erb

另一个惯例是视图文件的名称类似于

path/to/view/_action_name_._content_type_._processor_

答案 2 :(得分:1)

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

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

root :to => "yourController#someAction"

对于来自Java背景的人来说,了解路由并非易事。但是this应该有所帮助。

答案 3 :(得分:1)

请注意,Ruby与Rails不同。

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

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

Rack是Ruby的Web服务器接口。它处理HTTP协议,并允许用Ruby编写Web应用程序,方便解析HTTP请求和发送HTTP响应。

Rails是一个Web框架,具有用于在Ruby中开发Web应用程序的强大约定,模式和工具。 Some part of it uses Rack。它出现在2004年。Sinatra是另一个使用Rack的Web框架的例子。

Ruby中的web.xml相当于什么?

它不存在。

Rack中的web.xml相当于什么?

可能是config.ru

Rails中web.xml的等价物是什么?

config/routes.rbconfig/application.rb。请参阅Configuring Rails Applications

路线

要确定哪个html文件与http://localhost:3000/projects对应,请查看config/routes.rb。如果你看到

resources :projects

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