【问题标题】:ruby on rails: relation between parameters passed to controller and cookies?ruby on rails:传递给控制器​​的参数和cookie之间的关系?
【发布时间】:2012-04-02 06:02:12
【问题描述】:

我有这个应用程序显示问题

http://strong-sunrise-4122.herokuapp.com/movies

试试

  1. 按标题排序
  2. 选择一些评分并刷新
  3. 按日期排序 --> 不起作用!!

传递给控制器​​的参数不包含“sort=date”但仍然包含“sort=title”怎么可能?但是,如果我在浏览器中删除 cookie 该链接再次起作用。对不起,如果这是一个愚蠢的问题。实际上我存储了一些状态 在会话中,根本不要触摸任何 cookie 结构。附上“haml”代码

-#  This file is app/views/movies/index.html.haml
%h1 All Movies
=form_tag movies_path, :method => :get do
  Include:
  - @all_ratings.each_pair do |rating, set|
    = rating
    = check_box_tag "ratings[#{rating}]", true, set
  = submit_tag 'Refresh', :id => 'ratings_submit'
%table#movies
  %thead
    %tr
      %th{:class => miohelp("title")}= link_to 'Movie Title' , "/movies?sort=title" , :id => "title_header"
      %th Rating
      %th{:class => miohelp("date")}= link_to 'Release Date' , "/movies?sort=date",:id => "release_date_header"
      %th More Info
  %tbody
    - @movies.each do |movie|
      %tr
        %td= movie.title 
        %td= movie.rating
        %td= movie.release_date
        %td= link_to "More about #{movie.title}", movie_path(movie)

= link_to 'Add new movie', new_movie_path

【问题讨论】:

  • 显示生成链接的代码!

标签: ruby-on-rails session cookies controller


【解决方案1】:

我猜问题是在你的控制器中你给了会话内容比传入参数更高的优先级。我的意思是更高的优先级是您首先检查会话内容,它将页面重定向到具有您在会话中保存的参数的某个 url。那么请您出示一下index 操作的控制器代码吗?

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 2015-02-26
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多