Questions tagged «rails-routing»

7
可以在模型中使用Rails路由帮助器(即mymodel_path(model))吗?
假设我有一个名为Thing的Rails模型。事物具有url属性,可以选择将其设置为Internet上某个地方的URL。在视图代码中,我需要执行以下操作的逻辑: <% if thing.url.blank? %> <%= link_to('Text', thing_path(thing)) %> <% else %> <%= link_to('Text', thing.url) %> <% end %> 视图中的这种条件逻辑是丑陋的。当然,我可以构建一个辅助函数,该函数会将视图更改为: <%= thing_link('Text', thing) %> 这解决了冗长性问题,但是我真的更希望在模型本身中具有功能。在这种情况下,视图代码将是: <%= link_to('Text', thing.link) %> 显然,这将需要模型上的链接方法。这是需要包含的内容: def link (self.url.blank?) ? thing_path(self) : self.url end 问题的关键是,thing_path()是模型代码中未定义的方法。我假设可以将一些辅助方法“拉入”模型,但是如何?并有真正的理由认为路由仅在控制器上运行并查看应用程序层吗?我可以想到很多情况下,模型代码可能需要处理URL(与外部系统集成)。

4
在Ruby on Rails中使用破折号`-`而不是下划线`_`进行路由
我希望自己的网址使用破折号-而不是下划线_作为单词分隔符。例如controller/my-action代替controller/my_action。 我对两件事感到惊讶: Google等。继续区分它们。 Ruby on Rails没有一个简单的全局配置参数可以映射-到_路由中。还是呢? 我最好的解决方案是使用:as或命名路由。 我的想法是修改Rails路由以检查该全局配置,并在分派到控制器操作之前更改-为_。 有没有更好的办法?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.