我希望你们一切都好!
我是 RoR 和 JS 的新手,我正在努力将它们连接起来。
我有一个配方模型,它通过一个列表连接到一个成分模型。
class Recipe < ApplicationRecord
has_many :lists, dependent: :destroy
has_many :ingredients, through: :lists
我发现了 Stimulus,我正在尝试获取我所有的食谱,并且通过一个按钮,只获取蔬菜的。为此,我想我必须获取与食谱相关的成分列表:
def index
recipes = Recipe.all
respond_to do |format|
format.html
format.json { render json: { recipes: @recipes } }
end
end
和
import { Controller } from "stimulus";
export default class extends Controller {
static targets = [ 'filt' ];
connect() {
fetch('/recipes', { headers: { accept: "application/json" } })
.then(response => response.json())
.then((data) => {
data.recipes.forEach((rec) => {
const a = rec.ingredients;
.......
但这似乎不是正确的方法。
(编辑)我的问题是我用我的 RoR 应用程序创建了一个数据库,但我找不到在我的刺激控制器中使用它的方法。我在刺激控制器中所能拥有的只是一个只有一个表的 JSON:我的食谱。我无权访问我的 RoR 模型中关联的表。有没有一种简单的方法可以在 Stimulus 中访问它们?