2011-07-11 191 views
0

我希望能够直接路由的Rails 3字符串参数

/samplecontroller/search 

有:Q参数。我如何在rails 3中执行此操作?我现在有

match 'samplecontroller/:search' => 'samplecontroller#search' 

但所有这在耙给:路线

/samplecontroller/:search(.:format) {:action=>"search", :controller=>"samplecontroller"} 

控制器期望

def search 
    @search = Post.search(:include => [:comments]) do 
     keywords(params[:q]) 
    end 
    end 

谢谢!

回答

2

只是做

match 'samplecontroller/search' => 'samplecontroller#search' 
+0

但是,params如何传递? – Rio

+0

您的请求将会像'/ samplecontroller/search?q = searchquery'。 – Dogbert

0

在routes.rb中:

match 'samplecontroller/search' => 'samplecontroller#search' 

您的版本称:搜索的是路线的参数。删除前面的冒号告诉它从字面上匹配整个字符串。