加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如果控制器为零,则将默认值设置为控制器中的pa

发布时间:2020-12-17 02:43:31 所属栏目:百科 来源:网络整理
导读:我允许用户按created_at和total_votes对帖子进行排序: posts_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[:
我允许用户按created_at和total_votes对帖子进行排序:

posts_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)',: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',:order_by => "total_votes DESC") %></span>

我想:order_by默认具有total_votes DESC的值(当它为nil时).

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

解决方法

在控制器中

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读