有人曾经对我说过,在视图中呈现控制器操作是一个糟糕的设计决策。你们能推荐一些资源吗,在那里我可以获得更多的信息,建议和例子,关于什么是好的/不好的设计以及为什么。通过这种方式,我可以学习如何做出更好的设计决策,并认识到未来可能出现问题的地方。
发布于 2011-08-05 05:26:39
在视图中呈现控制器操作并不是一个糟糕的设计,只是它没有意义。您不会呈现控制器操作,而是呈现视图。渲染=绘制。你将如何绘制一个动作?
您可以直接在视图中呈现视图,也可以从控制器操作呈现视图。这两种方法都是非常常见且完全可以接受的做法。
也许如果你解释了你的想法,你可能会得到一个答案,但对于分钟,我所能说的就是
在您的视图中,链接和按钮指向控制器操作和呈现语句,呈现视图模板部分,这几乎就是您想要做的。
更新
我刚刚想到,您可能指的是类似于下面的视图语法
<%= render :action => "action2" %>这是非常误导的,因为它会让您认为您正在进行调用action2,而事实并非如此。您正在呈现action2模板。这是唯一的方法,你可以得到一个模板渲染,而不是部分,这基本上是完全不必要的,主要是因为你真的只想使用完整模板的一部分。
如果action2呈现了一个名为action_2_template.html.erb的模板,但没有action_2.html.erb模板,那么即使您有一个action2操作,上面的代码也会给出一个错误: template not found
发布于 2011-08-05 05:32:31
寻求良好的RoR实践的一个非常好的资源是这本书
Rails :Rails重构的最佳实践
这本书无疑对我改进Rails编程实践有很大帮助。
发布于 2011-08-05 04:19:27
RubyOnRails.org为正确使用代码约定/标准提供了大量的文档和教程。
https://stackoverflow.com/questions/6947937
复制相似问题