添加新项目的一两个操作?

时间:2016-07-29 08:57:17

标签: ruby-on-rails ruby

我需要对控制器进行自定义操作以添加内容。 On" get"它显示一个表单,并在帖子上插入数据和重定向。我想知道,添加新项目的单一操作是不好的做法吗?我应该为"得到"一个用于" post"代替?

2 个答案:

答案 0 :(得分:1)

  

使用单个操作添加新项目

是一种不好的做法

是的,这有点不好做法。首先,它完全反对RESTful principle

其次,它违反单一责任原则。如果你的行为处理了这两件事,你就必须按照

的方式做一些事情
def my_custom_action
  if request.post?
    # create stuff
  else
    # render form
  end
end

这是一种可以避免的代码复杂化。

简而言之,我认为这样做没有任何好处和好处。

答案 1 :(得分:0)

根据宁静的路线概念,使用单一方法显示表单和提交表单不是一个好习惯。

但是如果你想按照选择或偏好去做,你可以像下面的代码一样。

您可以为get和post方法创建单个方法。通过使用这样的东西。

match '/customurl' => 'controller#action', via: [:get, :post]

在这里,您需要在方法中相应地编写代码,方法是通过get或post调用方法并相应地执行任务。

希望这会有所帮助!