我有一个包含城市的应用程序。我正在寻找一些关于如何以 REST 方式构建控制器的建议,以便我可以通过 AJAX 请求查找、初始化和创建城市记录。例如:
- 给定一个文本字段
city_name
- 用户输入城市名称,例如“Paris, France”
- 该应用程序检查此位置以查看数据库中是否已经存在这样的城市
- 如果有,则返回城市对象
- 如果没有,则返回一个新记录,初始化名称为“Paris”,国家为“France”,并提示用户确认是否要将这个城市添加到数据库中
- 如果用户说“是”,则保存记录。如果不是,则丢弃该记录并清除该表格。
现在,我的第一个方法是将 Create 操作更改为 use find_or_create
,以便 AJAX 发布到cities_path
将导致返回现有城市或创建它并返回它。
没问题...但是,最好设置控制器操作,该操作将接受字符串输入、查找或初始化并返回,然后仅在用户确认生成的记录正确时才创建。理想的情况是把这一切都放在一个动作中,这样 AJAX 请求就可以转到那个 url,服务器用 JSON 对象响应,而 javascript 可以从那里处理事情。我想保留所有用户交互逻辑客户端,并尽量减少实现这一目标所需的请求数量。
关于最干净、最 RESTful 的方式来完成此任务的任何建议?