如何向现有控制器添加新动作?

卡里尔

我在Rails中很新。对不起,菜鸟问题。

我创建了一个新的控制器: rails new controller Say hello goodbye

如何向该现有控制器添加新操作,例如“ hello”和“再见”?

火炭

添加新动作很简单。您要做的就是在控制器上添加一个方法,例如:

# app/controllers/dummy_controller.rb
def get_back
  logger.warn "It works!"
  redirect_to :back
end

现在,为了能够通过URL访问此操作,您需要有一个路由。这是在您的config/routes.rb文件中完成的您可以将其添加为困难路线,例如

get '/go_back', to: "dummy#get_back"

这是最简单的路线。但是您可能希望它表现得像一条宁静的路线。如果您要对一个或多个模型进行操作,这将很有用。因此,在您的路由文件中,您将具有以下内容:

resources :dummy do
  collection do
    get 'get_back'
  end
end

这使您可以接受get集合上方法。您将拥有帮助器dummy_go_back_url,并且到达此页面的URL是/dummies/go_back

这是为了对资源集合进行操作。如果要对一个特定对象执行操作,则应指定一个member操作:

resources :dummy do
  member do
    get 'get_back'
  end
end

由于成员操作仅适用于一个对象,因此您将拥有一个类似的网址/dummies/123/go_back这将自动将params[:id]控制器中的变量设置123,使您可以轻松获取对象。另外,dummy_go_back_path定义了辅助方法,并接收了一个对象或id作为参数来生成正确的url。

这些是您可以拥有的最简单的路线,但您可以将Rails Guides中的外部路线作为可靠的信息来源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向现有控制器添加新动作

来自分类Dev

Silverstripe-如何向现有控制器添加新动作

来自分类Dev

Rails:向控制器添加动作

来自分类Dev

Rails:向控制器添加动作

来自分类Dev

Rails Rspec测试控制器的新动作

来自分类Dev

Activeadmin 自定义控制器新动作

来自分类Dev

如何控制更新动作?

来自分类Dev

如何在api MVC Project Net Core 3.1中向控制器添加动作

来自分类Dev

在Zend Framework 2中找不到创建新动作控制器的页面

来自分类Dev

cocoon gem 是否需要在控制器新动作中构建 n 个模型?

来自分类Dev

在scrollview中添加现有的视图控制器

来自分类Dev

如何将滚动视图添加到现有视图控制器?

来自分类Dev

向所有控制器AngularJS添加方法

来自分类Dev

如何在所有控制器中使用控制器的动作

来自分类Dev

如何在现有导航控制器中设置标签栏控制器?

来自分类Dev

如何从情节提要中绘制的现有视图控制器构建导航控制器?

来自分类Dev

EmberJS:如何从控制器发送动作?

来自分类Dev

如何使控制器动作真正异步

来自分类Dev

EmberJS:如何从控制器发送动作?

来自分类Dev

ember.js从视图向控制器发送动作

来自分类Dev

Ajax 向控制器动作发送空参数

来自分类Dev

当我向控制器(RPC)添加另一个方法时,发现多个与请求匹配的动作

来自分类Dev

当我向控制器(RPC)添加另一个方法时,发现多个与请求匹配的动作

来自分类Dev

如何在Ruby on Rails中添加自定义路线,控制器和动作?

来自分类Dev

如何在yii中为特定控制器和动作添加JavaScript

来自分类Dev

如何在magento控制器中的按钮上添加动作?

来自分类Dev

如何从控制器动作中调用另一个控制器动作?

来自分类Dev

如何向控制器发送参数?

来自分类Dev

将“克隆”路由添加到现有的静态控制器

Related 相关文章

  1. 1

    向现有控制器添加新动作

  2. 2

    Silverstripe-如何向现有控制器添加新动作

  3. 3

    Rails:向控制器添加动作

  4. 4

    Rails:向控制器添加动作

  5. 5

    Rails Rspec测试控制器的新动作

  6. 6

    Activeadmin 自定义控制器新动作

  7. 7

    如何控制更新动作?

  8. 8

    如何在api MVC Project Net Core 3.1中向控制器添加动作

  9. 9

    在Zend Framework 2中找不到创建新动作控制器的页面

  10. 10

    cocoon gem 是否需要在控制器新动作中构建 n 个模型?

  11. 11

    在scrollview中添加现有的视图控制器

  12. 12

    如何将滚动视图添加到现有视图控制器?

  13. 13

    向所有控制器AngularJS添加方法

  14. 14

    如何在所有控制器中使用控制器的动作

  15. 15

    如何在现有导航控制器中设置标签栏控制器?

  16. 16

    如何从情节提要中绘制的现有视图控制器构建导航控制器?

  17. 17

    EmberJS:如何从控制器发送动作?

  18. 18

    如何使控制器动作真正异步

  19. 19

    EmberJS:如何从控制器发送动作?

  20. 20

    ember.js从视图向控制器发送动作

  21. 21

    Ajax 向控制器动作发送空参数

  22. 22

    当我向控制器(RPC)添加另一个方法时,发现多个与请求匹配的动作

  23. 23

    当我向控制器(RPC)添加另一个方法时,发现多个与请求匹配的动作

  24. 24

    如何在Ruby on Rails中添加自定义路线,控制器和动作?

  25. 25

    如何在yii中为特定控制器和动作添加JavaScript

  26. 26

    如何在magento控制器中的按钮上添加动作?

  27. 27

    如何从控制器动作中调用另一个控制器动作?

  28. 28

    如何向控制器发送参数?

  29. 29

    将“克隆”路由添加到现有的静态控制器

热门标签

归档