用户可以提交新闻并在之后进行编辑。我的问题是,他们是否应该使用相同的视图文件,其中包含几个ifs if(page == edit) echo "edit news" else echo "submit news"
和类似的?
答案 0 :(得分:0)
我认为为添加/编辑共享相同的表单是要走的路,而且更多是干的(不要重复自己)。在Ruby on Rails中,这是一个非常好的练习/标准。
所以是的,创建两个用于添加和编辑的视图,但在两个视图中包含相同的表单,所以你会有类似的东西:
create.php
edit.php
_form.php
并且您只需在每个文件中包含_form.php。
我仍然会创建两个视图,因为大多数时候你有不同的文本,图像和表单周围的其他东西,所以如果你不想在任何地方都有 ifs ,我会创建两个保持井井有条和清洁的观点:)
答案 1 :(得分:0)
与RoR狂热分子告诉你的相反:视图是不同类的完整实例,而不仅仅是愚蠢的模板。正确的View负责表示逻辑并且可以处理多个模板。
在这种情况下,你基本上做同样的事情。您将使用具有相同模板的相同视图。即使在datamapper(不要与同名的ORM混淆,没有关系)级别,应用程序也会使用相同的UPSERT
语句执行所有相同的字段。只有一种情况newsId
为NULL
,而另一种情况 - 某些数字,表示表中的主键。