0

我正在尝试将一些重复的视图内容提取到一个组件中,类似于 rails 部分。

我要这个:

{{ activity.each do |activity| }}
    <div class="{{ activity.style_class }}>
       {{ activity.text }}
    </div>
{{ end }}

变成这样:

{{ activity.each do |activity| }}
    <:activity>
{{ end }}

但是每当我尝试将我的视图代码移动到时,app/activity/views/main/index.html 我都会收到有关活动不存在的错误。

4

1 回答 1

1

诀窍是在model调用组件时传入:

// app/main/views/main/index.html

{{ activity.each do |activity| }}
    <:activity model="{{ activity }}">
{{ end }}

然后在您的组件中,您将其范围限定在自身上,如下所示:

// app/activity/views/main/index.html

<div class="{{ style_class }}>
  {{ text }}
</div>
于 2015-06-28T07:34:11.897 回答