【问题标题】:Create a new action for existing controller为现有控制器创建新操作
【发布时间】:2017-02-01 20:36:09
【问题描述】:

我知道这可能是一个新手问题,但是否可以从现有控制器的命令行中创建新操作(控制器和关联视图中的方法)?

例如,我已经有一个名为“Products”的控制器。我可以跑吗:

rails g controller products [new_action]

然后rails会插入:

def [new_action]

end

进入我的产品控制器并在 views/products/ 目录中创建一个名为“[new_action].html.erb”的新文件?我已经用谷歌搜索了这个,但没有得到满意的答案。另外,我会继续尝试,但我对当前应用程序的开发还很远,真的不想搞砸任何事情。

【问题讨论】:

  • 你没有使用版本控制吗?

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:

我很确定您无法以 100% 自动化的方式执行此操作。原因是 Rails 不知道你对路由或控制器做了什么,它需要一些逻辑来知道如何更新这些现有文件。您最好的选择是手动添加新操作。将新方法添加到您的控制器,更新您的路由文件,然后添加视图。最多可能需要1分钟。此外,如果您没有使用版本控制器(您的问题没有解决),那么您不必担心它会自动覆盖某些内容。

【讨论】:

    【解决方案2】:

    我们可以在控制器和视图中手动创建动作,但您还应该添加测试语句,因为这应该是一个很好的自动化过程,比如 rails generate controller NAME [action action] option m m = 合并

    【讨论】:

      【解决方案3】:

      Rails 提供了创建自定义生成器的可能性(但这是更高级的主题),可以根据您的需要进行定制。

      更多信息:

      http://guides.rubyonrails.org/generators.html

      【讨论】:

        猜你喜欢
        • 2013-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-13
        • 1970-01-01
        相关资源
        最近更新 更多