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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |