0

可能是我的问题,这对 RoR 开发人员来说有点奇怪,但我是 Ruby on Rails 的新手,我现在才发现这个世界 - 视图名称和控制器中的定义有一些依赖关系?

例如,如果我有一个名为 "parse-public-profile.html.erb" 的视图,我是否应该使用该名称添加控制器定义?我的意思是“ def parse-public-profile ... end

我知道,这是基本的,但我只是试图了解控制器是如何知道的,我现在有什么视图;我应该改变什么,如果我要添加/更改视图名称,或者如何定义视图,如果在我的“视图”文件夹中,我有另一个文件夹,例如。“客户”

谢谢!

4

2 回答 2

2

Rails 遵循REST,这意味着索引、显示、编辑、更新、销毁等方法在 Rails 控制器中非常常见。但是,当您在控制器上有自定义操作(方法)时,Rails 会查找相应的视图文件,例如:

class UsersController < ApplicationController
  def another_action
  end
end

将尝试渲染:app/views/users/another_action.html.erb

还有通常在 users/index.html.erb 中的视图文件 fe 中调用的 partials 的概念

<% render :partial => 'form' %> 

将尝试渲染:app/views/users/_form.html.erb(注意 _)可以在Rails 指南中找到深入的解释

于 2013-02-12T23:39:57.463 回答
0

您还可以使用:

def index
  render :template => "users/parse-public-profile"
end

:template 覆盖 Rails 将呈现的默认文件。

有关更多信息,请参阅位于http://guides.rubyonrails.org/layouts_and_rendering.html的 Rails 布局和渲染指南。

于 2013-02-18T05:27:48.210 回答