Ruby on rails Rails路线的前后过滤器/功能
我有一个想法,我不确定是否已经完成。现在让url搜索引擎友好的开发人员自定义模型类的_param函数。然后他们调用函数以获取elmenet的id 如果我不想为模型而是为字符串创建url呢。假设我为post controller的搜索操作创建链接。url中唯一的变量是搜索字符串。那么我如何才能创建这个搜索页面的搜索引擎优化链接。我知道如何创建链接等,但我的问题是,我想调用这个字符串的函数,如to_param或类似的东西,使搜索引擎优化字符串,也在控制器中执行搜索,我必须再次人性化这个字符串。所以我想要的是: 在每个视图中,我都不想使用urlizing方法使其变得更加友好 在每个控制器中,我不想再次调用任何函数来使字符串人性化,这应该由路由器来完成 在路由器中:Ruby on rails Rails路线的前后过滤器/功能,ruby-on-rails,routing,Ruby On Rails,Routing,我有一个想法,我不确定是否已经完成。现在让url搜索引擎友好的开发人员自定义模型类的_param函数。然后他们调用函数以获取elmenet的id 如果我不想为模型而是为字符串创建url呢。假设我为post controller的搜索操作创建链接。url中唯一的变量是搜索字符串。那么我如何才能创建这个搜索页面的搜索引擎优化链接。我知道如何创建链接等,但我的问题是,我想调用这个字符串的函数,如to_param或类似的东西,使搜索引擎优化字符串,也在控制器中执行搜索,我必须再次人性化这个字符串。所以我
match 'search/:string' => 'Post#search', :as => :search, before => some_before_router_helper_function, after => some_after_router_helper_function
在这些辅助函数中,我要做的是,我将参数化我想要的任何参数,然后我将再次人性化任何参数
路由器帮助程序之前/之后的示例:
def some_before_router_helper_function
string = string.underscore.dasherize
end
def some_after_router_helper_function
param[:string] = param[:string].undasherize.un_underscore
end
正如Heikki所指出的:您能否为您认为可能需要的内容和预期的输出提供一些伪代码?我无法理解您的要求。添加了一些示例帮助程序。我希望每次我创建与此路由的链接(之前)时都会执行这些帮助程序,并且我有一个与此路由(之后)相关的请求:“环绕整个路由系统,并允许对进入它的内容(URL识别)和来自它的内容(URL生成)进行预过滤和后过滤”