Rails refactor将一个turbo-frame改成stimulus
一个post的修改、翻译、删除等功能,原来是用turbo-frame实现的,其中要判断用户是否登录、是否具有权限等问题,相对来说逻辑处理偏多一点。
在通过turbo-frame处理的时候,需要将逻辑控制放到view端来处理,计划通过stimulus controller来refactor。
rails g stimulus postController
在通过turbo-frame处理的时候,需要将逻辑控制放到view端来处理,计划通过stimulus controller来refactor。
rails g stimulus postController
create app/javascript/controllers/post_controller.js
action: 'click->post#translate'
先设置controller
<div data={controller: 'post'}>
<button data={action: 'click->post#translate'}>翻译</button>
</div>
还要加上服务器翻译用的url地址
data-post-turl-value=""
从服务器返回的翻译后的文本,需要替换原有的文本。
代码大概如下
#app/javascript/controllers/post_controller.js import { Controller } from "@hotwired/stimulus" // Connects to data-controller="post" export default class extends Controller { static values = {turl: String, eurl: String, durl: String} static targets = ['content','translation'] connect() { //console.log(this.contentTarget.textContent) } translate() { fetch(this.turlValue) .then(response => response.text()) .then(html => this.translationTarget.innerHTML = html); } }
阅读量: 747
发布于:
修改于:
发布于:
修改于: