gpt4 book ai didi

ruby-on-rails - rails : Allow user to switch between different views using selection

转载 作者:行者123 更新时间:2023-12-04 06:15:18 25 4
gpt4 key购买 nike

如何允许用户使用选择菜单在同一内容的不同 View 之间切换。例如,查看 http://railscasts.com/ 的右侧.您可以在 ListView 、表格 View 和网格缩略图 View 之间切换。实现此目标的好方法是什么?

最佳答案

您可以为每个 View 设置一个部分,并使用 session 来存储首选项或简单地使用 params

def index
# ... code here
@partial = params[:view] || "default" # "grid", "list", etc.
end

index.html.erb 中:

<%= render @partial %>

然后你会在 Controller 的 View 文件夹中保存每个 View 部分,例如_grid.html.erb_list.html.erb_default.html.erb

编辑

为了回应对此(已有 5 年历史)回答的评论,我将撤销/修改我原来的建议。将未经验证的参数传递给 render 绝不是一个好主意,因为它有可能从您的文件系统中公开任意数据。而是推荐一种白名单方法:

def index
@partial = whitelisted_partial || 'default'
end

def whitelisted_partial
%w(grid list).detect { |str| str == params[:view] }
end

更直接地回应评论:

render partial: @partial, locals: { ... }

关于ruby-on-rails - rails : Allow user to switch between different views using selection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12773161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com