如何检索url和它的参数控制器是张贴到rails 3.2



在我们的rails 3.2应用程序中,动作search_results响应用户提交的搜索表单。以下是操作search_results在浏览器中显示的完整URL:

http://localhost:3000/engine_configs/search_results?utf8=%E2%9C%93&engine_config[start_date_s]=&engine_config[end_date_s]=&engine_config[engine_id_s]=1&engine_config[argument_name_s]=&engine_config[commissioned_s]=&commit=%E6%90%9C%E7%B4%A2

在rails控制器中,url及其GET参数分别存储在url _for和request.GET中:

url_for = "http://localhost:3000/onboard_data_upload/engine_configs/search_results"
request.GET = ActiveSupport::HashWithIndifferentAccess (3 element(s)) #(utf8, params[:engine_config] & commit)

是否有一个rails内置的方法检索完整的url (url如上所示在浏览器中)的行动search_results ?或者如果没有,如何正确地组装完整的url?

在你的路由中。将, as: :search_results添加到路由的末尾。然后你可以在控制器和视图中使用search_results_urlsearch_results_path

PS:旧的Ruby散列语法, :as => :search_reults也可以。

最新更新