RubyonRails3,改变视图

RubyonRails3,改变视图,ruby,ruby-on-rails-3,listview,gridview,views,Ruby,Ruby On Rails 3,Listview,Gridview,Views,我正在使用Rails 3.0.9和Ruby 1.9.2 我有一个搜索页面,将以网格格式显示结果列表。但是,我希望能够为用户提供一个选项,以列表格式显示它们 有谁能告诉我如何提供更改视图选项,并且仍然保留搜索结果吗?因为您没有指定查询的存储位置 我希望在url中,比如example.com/search?query=mylookupstring 所以,在这种情况下,我们只需要在页面上的某个地方,将_链接到搜索路径,并将您的查询+一些参数传递回控制器,以准备新的视图 <%= link_to

我正在使用Rails 3.0.9和Ruby 1.9.2

我有一个搜索页面,将以网格格式显示结果列表。但是,我希望能够为用户提供一个选项,以列表格式显示它们


有谁能告诉我如何提供更改视图选项,并且仍然保留搜索结果吗?

因为您没有指定查询的存储位置

我希望在url中,比如example.com/search?query=mylookupstring

所以,在这种情况下,我们只需要在页面上的某个地方,将_链接到搜索路径,并将您的查询+一些参数传递回控制器,以准备新的视图

 <%= link_to "List", search_some_thing_path(:query=>params[:query],:list=>true) %>

由于您尚未指定查询的存储位置

我希望在url中,比如example.com/search?query=mylookupstring

所以,在这种情况下,我们只需要在页面上的某个地方,将_链接到搜索路径,并将您的查询+一些参数传递回控制器,以准备新的视图

 <%= link_to "List", search_some_thing_path(:query=>params[:query],:list=>true) %>

您好,您完全正确,搜索字符串显示在url中。如:✓&搜索%5Btown_name_等于%5D=Leicester&搜索%5Bgenre_name_等于%5D=DJ+音乐&搜索%5Bdate_等于%5D=&commit=搜索如何设置控制器以更改视图:It’很抱歉提出了noobish问题,但我仍在学习:(添加到EventsController搜索方法条件,如if params[:list],并根据需要呈现适当的视图,例如render:list(假设您有这样的视图),else render:grid我已经关闭了视图之间的切换,但问题是它没有保留我的搜索结果。我的视图包含:
params[:search],:list=>false),:class=>'uploadbutton',:style=>'float:right'>
,事件控制器包含:
def index@search=Event.search(params[:search])@events=@search.paginate(:page=>params[:page])@number_of_events=@events.count如果params[:list]render:list end
有什么想法吗?如果你检查我在评论中粘贴的内容,你会发现我已经修改了视图链接,改为params[:search],我问这个问题是因为这不起作用。我知道你想帮我,我只是不想让你认为我没有头脑,只是一个复制粘贴的家伙。切换视图后:
http://127.0.0.1:3000/events?list=true&query[date\u equals]=&query[流派名称\u equals]=DJ+音乐&query[town\u name\u equals]=
在视图切换之前:
http://127.0.0.1:3000/events?utf8=✓&搜索%5Btown_name_等于%5D=&搜索%5bcroden_name_等于%5D=剧院&搜索%5Bdate_等于%5D=&提交=搜索
显然你误解了我。我对纠正错误的呼吁是直截了当的,不让任何人觉得自己愚蠢。无论如何,正确的解决方案是事件路径(:search=>params[:search],:list=>false)。正如您所看到的,我们将散列对象传递给控制器,因为params search是键,params[:search]充当值。享受吧!您好,您完全正确,搜索字符串显示在url中。如:✓&搜索%5Btown_name_等于%5D=Leicester&搜索%5Bgenre_name_等于%5D=DJ+音乐&搜索%5Bdate_等于%5D=&commit=搜索如何设置控制器以更改视图:It’很抱歉提出了noobish问题,但我仍在学习:(添加到EventsController搜索方法条件,如if params[:list],并根据需要呈现适当的视图,例如render:list(假设您有这样的视图),else render:grid我已经关闭了视图之间的切换,但问题是它没有保留我的搜索结果。我的视图包含:
params[:search],:list=>false),:class=>'uploadbutton',:style=>'float:right'>
,事件控制器包含:
def index@search=Event.search(params[:search])@events=@search.paginate(:page=>params[:page])@number_of_events=@events.count如果params[:list]render:list end
有什么想法吗?如果你检查我在评论中粘贴的内容,你会发现我已经修改了视图链接,改为params[:search],我问这个问题是因为这不起作用。我知道你想帮我,我只是不想让你认为我没有头脑,只是一个复制粘贴的家伙。切换视图后:
http://127.0.0.1:3000/events?list=true&query[date\u equals]=&query[流派名称\u equals]=DJ+音乐&query[town\u name\u equals]=
在视图切换之前:
http://127.0.0.1:3000/events?utf8=✓&搜索%5Btown_name_等于%5D=&搜索%5bcroden_name_等于%5D=剧院&搜索%5Bdate_等于%5D=&提交=搜索
显然你误解了我。我对纠正错误的呼吁是直截了当的,不让任何人觉得自己愚蠢。无论如何,正确的解决方案是事件路径(:search=>params[:search],:list=>false)。正如您所看到的,我们将散列对象传递给控制器,因为params search是键,params[:search]充当值。享受吧!