【发布时间】:2020-11-11 17:05:22
【问题描述】:
简单的问题,从激励控制器内部访问 URL 助手的正确方法是什么?
现在我们不得不做一些相当臭的代码,控制器通过 erb 传递,以允许这样的事情:
// app/javascript/controllers/stage_filter_controller.js.erb
import { Controller } from 'stimulus'
export default class StageFilterController extends Controller {
// snip...
getPlotsUrl(siteId) {
var url = '<%= Rails.application.routes.url_helpers.plot_options_path %>'
url += `?site=${siteId}`
return url;
}
}
我根本不喜欢这个,但不知道怎么做。
【问题讨论】:
-
为什么不在视图中将路由作为数据属性传递,然后从那里在 JS 中获取它们?