在我们的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_url
和search_results_path
。
PS:旧的Ruby散列语法, :as => :search_reults
也可以。