随着我目前的项目,我遇到了一种情况,并试图找出最佳实践。单个AJAX动作多个视图导轨最佳实践
假设有一个仪表板视图和一个任务视图。所有任务CRUD操作都可以在任一视图中完成。
用于显示表单的容器和用于列出任务的容器在每个视图上具有不同的名称。
我发现3个解决方案,但我不知道这是最好的做法:
一个视图不同的途径:即new_task_dashboard_ iew_path - 不是很宁静,但new.js和new_dashboard_view.js针对HTML分离操纵
将一个param [:view]传递给AJAX请求,然后在new.js中添加一个if语句以指示要更新哪个容器,即。 (如果params [:view] =='dashboard'种语句)
只留下new.js - DOM上不存在的容器不会更新 - 只有存在的容器会更新
所有3个工作,但作为一个新的铁轨用户,我试图找出最合适的方法是什么。或者也许有一种我不知道的更好的做法?
不知道这应该是“回答”还是只是评论,因为它对你的设计方法是主观的......但是,经验告诉我(痛苦的是)有单独的控制器(#1)和然后利用控制器问题/修改您的js/partials /共享视图以保持干爽。我发现试图简化到不同概念的共享控制器的程度会导致你在添加更多行为/理解你的代码时更加痛苦。 – dstull
谢谢,这是有道理的。我大部分时间都在尝试#2,当我回去改变视图时,我一直在挣扎。听起来好像没有明显的“Rails方式”,但有些方法可能不那么痛苦! –