我目前正在用Rails和Hotwire开发我的第一个应用程序。它包括一个所有用户都可以看到的注释表单。当未经身份验证的用户提交它时,我想在表单顶部的一个模式中打开登录表单(由Devise管理)。
目前,我想出了以下解决方案,但它似乎相当麻烦,我想知道是否有人想出了一个更干净的解决方案,这可能是非常常见的用例?
在我的布局中有一个
_form.html.erb部分中有一个登录表单data-turbo-frame="modal"属性。同样,这是在做这项工作,但我不喜欢这样一个事实,即它需要对视图和控制器进行更改,这使得扩展变得很困难(如果我想将相同的流应用到其他表单中)。
非常感谢!
发布于 2022-04-21 13:08:36
您可以在控制器中的the操作中执行turbo-stream呈现。
class ApplicationController
def render_auth_modal
render turbo_stream: turbo_stream.update("modal",
partial: "auth/modal")
end
end
class CommentsController < ApplicationController
before_action :render_auth_modal, unless: :signed_in?
endhttps://stackoverflow.com/questions/71385016
复制相似问题