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

3

我第一次使用 Redmine,已经成功地在本地进行了安装。我以前没有使用过Ruby,我的背景是Java。

我可以通过访问以下网址来运行应用程序 -

http://localhost:3000/projects

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

2
web.xml的对应文件是ruby中的routes.rb和config.rb文件。你会在config目录下找到它们。routes.rb定义了哪个控制器和操作(类似于servlets)将处理某个请求(URL)。由于Rails具有预定义的约定,所有的html文件都放在views目录下以控制器名称命名的文件夹中,并且按照惯例,与被调用的控制器操作同名的html文件将作为响应呈现。
但如果需要,所有这些都可以被覆盖。
这是一个很好的开始理解Rails的地方:http://guides.rubyonrails.org/

1
Rails遵循惯例优于配置的原则,因此所有视图始终可以在以下位置找到。
app/views/

你要寻找的内容应该是(取决于Redmine模板处理器)

app/views/projects/index.html.erb

还有一个惯例是视图文件的命名方式如下:

path/to/view/_action_name_._content_type_._processor_

我看到了 index.api.rsb 和 index.html.erb。 - CodeBlue

1
在Rails中,您可以查看项目文件夹中config文件夹中的routes.rb文件,找到Web应用程序路由的所有映射。
例如,如果您想配置项目中的索引页面,请删除public文件夹中的index.html.erb并执行以下操作:
root :to => "yourController#someAction"

对于Java背景的人来说,理解路由并不容易。但this应该会有所帮助。


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应用程序。它的某些部分使用了Rack。它于2004年出现。Sinatra是另一个使用Rack的Web框架的示例。

Ruby中web.xml的等效物是什么?

它不存在。

Rack中web.xml的等效物是什么?

可能是config.ru

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

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

路由

要找出哪个 HTML 文件对应于 http://localhost:3000/projects,请查看 config/routes.rb。如果您看到

resources :projects

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


1
感谢您的反馈。OP的问题是“Ruby中与Java的web.xml对应的是什么”。这回答了这个问题。然而,我还更新了我的答案,包括有关资源路由的信息。 - James Lim
问题是:“问题是,如果存在的话,我在哪里可以找到与http://localhost:3000/projects相对应的html文件。”标题是误导性的,因为OP不知道Rails如何工作,并喜欢配置他的XMLs。 - Mike Szyndel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接