在插件助手中,我有:
include Rails.application.routes.url_helpers
url_for(:only_path => true, :controller => 'people', :action => 'new')
请注意,使用新的include语法,该部分可以正常工作。但是我收到了一个错误:
undefined local variable or method `controller' for #<ActionView::Helpers::InstanceTag:0x311ddf4>
有没有新的方法来指定这个,比如'controller#action'?什么是关键?
答案 0 :(得分:7)
url_for应该照常工作,请参阅http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for
我在我的控制台上查了一下:
ruby-1.9.2-head > include Rails.application.routes.url_helpers
=> Object
ruby-1.9.2-head > url_for(:only_path => true, :controller => 'admin/providers', :action
=> 'new')
=> "/admin/providers/new"
也许url_for中没有出现错误,因为您的错误消息显示ActionView :: Helpers :: InstanceTag这听起来像是在使用某种类型的标签,例如link_to等等。您有没有想过这个?
祝你好运
西蒙