Ruby on rails 如何使用haml在RubyonRails中保存会话?

Ruby on rails 如何使用haml在RubyonRails中保存会话?,ruby-on-rails,Ruby On Rails,我对RubyonRails比较陌生!我想在保存复选框首选项方面获得一些帮助,以便在选择时保存以前的设置。。 My controller.rb的外观如下所示 def index if params[:ratings].present? @movies = Movie.where(rating: params[:ratings].keys) else @movies = Movie.all(:order => "title xx

我对RubyonRails比较陌生!我想在保存复选框首选项方面获得一些帮助,以便在选择时保存以前的设置。。 My controller.rb的外观如下所示

def index
    if params[:ratings].present?    
      @movies = Movie.where(rating: params[:ratings].keys)
    else         
      @movies = Movie.all(:order => "title xxx, release_date xxx")
      if params[:sort_by] == 'xxxx'
        @title_header = 'xxxx'
      elsif params[:sort_by] == 'xxxx'
        @release_header ='xxxxx'
    end
  end  
end 

您只需将该值存储在会话中的参数中即可。您可以在中阅读有关会话的更多信息


电影。全部:订单。。。应该是电影。订单…加载到现代Rails中。我看不出if和elsif条件子句之间有什么区别。嗨,塔德曼,我的代码与电影配合得很好。尽管我很感谢你的反馈。嗨,西蜀,我真的很感谢你给我回复。。。但是,该代码不起作用!!您能否提供有关要求的更多详细信息。如果用户选择了列排序和按分级限制的任意组合,然后用户单击以查看其中一部电影的详细信息,例如,当她单击详细信息页面上的“返回到电影”列表时,电影列表应“记住”用户以前的排序和筛选设置。您可以有选择地应用会话[]中的设置,即使传入URI没有设置适当的参数[]。Nishu,我将会话[:current_sort_by]=params[:sort_by]替换为会话[:rating_sort_by]=params[:sort_by],它部分工作,记住了复选框首选项,但不记得电影排序顺序!因此,这是朝着正确方向迈出的一步!!知道在散列中更改密钥名是如何工作的吗?渲染时,需要使用相同的键从会话中获取值。
def index
    if params[:ratings].present?    
      @movies = Movie.where(rating: params[:ratings].keys)
    else         
      @movies = Movie.all(:order => "title xxx, release_date xxx")
      if params[:sort_by] == 'xxxx'
        @title_header = 'xxxx'
      elsif params[:sort_by] == 'xxxx'
        @release_header ='xxxxx'
    end
    session[:current_sort_by] = params[:sort_by]
  end  
end