我第一次使用Redmine并且能够在本地成功install。我之前没有使用过Ruby,而且我来自Java背景。
我可以通过 -
运行该应用程序http://localhost:3000/projects
问题是,在哪里可以找到与http://localhost:3000/projects
对应的html文件(如果存在)。在Java中,我们可以通过查看web.xml或相关的Spring配置文件来查看URL是如何映射到servlet或控制器的。如何在Ruby中执行此操作?
答案 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和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框架的例子。
web.xml
相当于什么?它不存在。
web.xml
相当于什么?可能是config.ru
。
web.xml
的等价物是什么? config/routes.rb
和config/application.rb
。请参阅Configuring Rails Applications。
要确定哪个html文件与http://localhost:3000/projects
对应,请查看config/routes.rb
。如果你看到
resources :projects
然后它由ProjectsController中的索引操作处理,视图位于app/views/projects/index.*
。