我有一个想法,我不确定是否已经完成。现在要使url搜索引擎友好的开发人员自定义模型类的to_param函数。然后他们调用to_s函数来获取elmenet的id。
如果我想为非模型而不是字符串创建URL,该怎么办?让我们说我为帖子控制器的搜索操作创建链接。 url中唯一的变量是search_string。那么我该如何为这个搜索页面创建seo链接。我知道如何创建链接等等,但我的问题是,我想调用此字符串上的函数,如to_param或类似的东西来制作seo字符串,也在控制器中执行搜索我必须再次人性化这个字符串。所以我想要的是:
在每个视图中,我都不想使用urlizing方法使其友好
在每个控制器中,我都不想调用任何函数来再次将字符串变回人性化,这应该由路由器来完成
在路由器中:
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