gpt4 book ai didi

ruby-on-rails - 如果 Controller 中的 param 属性为 nil,则为它设置默认值?

转载 作者:行者123 更新时间:2023-12-04 03:44:10 27 4
gpt4 key购买 nike

我允许用户按 created_at 对帖子进行排序和 total_votes :

post_controller.rb:

@posts = current_user.subscribed_posts.paginate(:page => params[:page],
:per_page => 5,
:order => params[:order_by])

show.html.erb:
  <span class="comment-tab <% if params[:order_by] == 'created_at DESC' %>current-tab<% end %>"><%= link_to 'Date (DESC)', post_path(@post, :order_by => "created_at DESC") %></span>
<span class="comment-tab <% if params[:order_by] == 'created_at ASC' %>current-tab<% end %>" ><%= link_to 'Date (ASC)', post_path(@post, :order_by => "created_at ASC") %></span>
<span class="comment-tab <% if params[:order_by] == 'total_votes DESC' or params[:order_by].nil? %>current-tab<% end %>"><%= link_to 'Votes', post_path(@post, :order_by => "total_votes DESC") %></span>

我要 :order_by具有 total_votes DESC 的值默认情况下(当它为零时)。

这样做的最佳方法是什么?

最佳答案

在 Controller 中

params[:order_by] ||= "total_votes DESC"

或者
# fetch returns the default value if the key is not present
params.fetch(:order_by, "total_votes DESC")

Hash#fetch

关于ruby-on-rails - 如果 Controller 中的 param 属性为 nil,则为它设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695672/

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