【发布时间】:2011-12-20 11:43:45
【问题描述】:
我正在编写自己的 ruby gem,我必须使用 url_for ActionView 方法。我只想知道如何在我的 gem 中使用该方法和我的 rails 应用程序中定义的路由,通过向该方法发送控制器、操作(和等)参数来生成 url 路径。
【问题讨论】:
标签: ruby-on-rails ruby gem
我正在编写自己的 ruby gem,我必须使用 url_for ActionView 方法。我只想知道如何在我的 gem 中使用该方法和我的 rails 应用程序中定义的路由,通过向该方法发送控制器、操作(和等)参数来生成 url 路径。
【问题讨论】:
标签: ruby-on-rails ruby gem
一个简单的方法是在需要时将视图对象从应用程序传递到您的 gem 方法中。
例如,您的应用可能会说的模板:
<%= some_gem_method(self) %>
gem 可以实现如下方法:
def some_gem_method view
view.url_for controller: "widgets", action: "show"
end
【讨论】:
Rails.application.routes.url_helpers 中也可用,如果您需要走依赖查找而不是依赖注入的路线;) 不过,依赖注入通常更适合用于测试目的。