5、利用 Turbo 和 Stimulus 提升 Web 应用交互性

利用 Turbo 和 Stimulus 提升 Web 应用交互性

1. 初始控制器与问题发现

在开发过程中, FavoritesController 最初的实现如下:

class FavoritesController < ApplicationController
  def index
  end

  def create
    Favorite.create(user: current_user, concert_id: params[:concert_id])
    render(partial: "favorites/list")
  end

  def destroy
    @favorite = Favorite.find(params[:id])
    @favorite.destroy
    render(partial: "favorites/list")
  end

  private
  def favorite_params
    params.require(:concert_id)
  end
end

不过,点击“Make Favorite”或“Remove Favorite”按钮时,仅更新了“Favorites”部分,音乐会显示行并未改变。之前按钮文本能从“Favorite”变为“Unfavorite”,现在按钮标签和操作都不再变化。我们期望请求能以一种让 Turbo 更新“Favorites”显示和音乐会内联显示的方式响应,同时保持页面其他部分不变,这就需要用到 Turbo Streams。

2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值