最近一两个月,我在使用Hotwire,试图了解如何在第一次渲染后重新加载特定的涡轮框架。
假设我有一个简单的rails控制器用于用户搜索。如果它的参数为name
,则返回与该name
匹配的用户,否则返回所有用户。
class UserSearchController
def show
return User.where(name: params[:name]) if params[:name].present?
return User.all
end
end
我有一个Turboframe,它正确地延迟加载DOM中的所有用户。我想弄清楚的是如何更新涡轮框架并重新绘制框架。我在Stimulus上玩了一下,试图将src设置为端点,这是我在其他帖子中看到的建议:
reload() {
const {src: src} = this;
this.src = null;
this.src = src;
}
这似乎不工作,虽然,它不重绘涡轮机。我可以看到它正在向rails后端发出请求。
有没有人能在页面加载后为我指出重新加载/重新绘制框架的方向?我不确定我是完全错了还是在正确的球场上。
1条答案
按热度按时间56lgkhnf1#
在
show
操作或render locals: {..
中需要一些示例变量,否则将返回空值。在 stimulus controller中,this
是指控制器示例,如果看不到它的其余部分,它看起来什么也不做。将此复制到任何页面,然后单击以重新加载:
“我知道,我知道。”把它放在单独的页面上,不再重复。*
因为
onclick
不是一件很酷的事情:关于搜索表单: