rails 3中是否有`url_for`的新语法?

DGM*_*DGM 2 ruby-on-rails-3

在插件助手中,我有:

include Rails.application.routes.url_helpers
url_for(:only_path => true, :controller => 'people', :action => 'new')
Run Code Online (Sandbox Code Playgroud)

请注意,使用新的include语法,该部分工作正常.但是我收到一个错误:

undefined local variable or method `controller' for #<ActionView::Helpers::InstanceTag:0x311ddf4>
Run Code Online (Sandbox Code Playgroud)

有没有新方法来指定这个,比如'controller#action'?什么是关键?

sle*_*led 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" 
Run Code Online (Sandbox Code Playgroud)

也许url_for中没有出现错误,因为您的错误消息显示ActionView :: Helpers :: InstanceTag这听起来像是在使用某种类型的标签,如link_to等.你有没有想过这个?

最好的祝福

西蒙