ActionView :: TemplateError(未定义的方法`pop_up'错误在rails中

时间:2010-11-15 06:47:27

标签: ruby-on-rails

我对Rails很新。

我正试图在悬停用户名时获得一个灯箱..

在我的代码中,我有一行像

 <%= hcard_link_to_user h(@blog.user.fullname), @blog.user, :class => "underline" %>  

显示放置博客的人的用户名。

对于我试过的试验,

在View show.html.erb

      <%= pop_up @blog %>

在Controller - 博客中,我添加了方法pop_up

 def pop_up
   render :partial => 'shared/pop_up', :layout => false, :locals => {:node => @blog}
 end

我还编辑了控制器顶部的线条              access_control:DEFAULT =&gt; 'view_blogs',:pop_up =&gt; 'pop_up',[:comment,:reply] =&gt; '注释'

但是当我打开博客时 如

http://localhost:3000/blogs/new-blog, 我收到错误

  Development mode eh? Here is the error - #<ActionView::TemplateError: ActionView::TemplateError (undefined method `pop_up' for #<ActionView::Base:0xb5a8c61c>) on line #25 of app/views/blogs/show.html.erb:

我在共享文件夹下有一个部分文件。

最后在路线上  我编辑过这些行,

  map.resources :questions, :collection => {:pop_up=> :get}

1 个答案:

答案 0 :(得分:0)

控制器中的方法是动作,据我所知你不能用方法名称来调用它们。我找到了两种可能的解决方案:

  1. render:action:#在当前控制器中呈现动作“目标”的模板 render:action =&gt; “目标”,http://rails.rubyonrails.org/classes/ActionController/Base.html#M000464
  2. 您可以设置target =“_ blank”或该操作的JavaScript弹出链接,并通过GET或POST提交@blog。 link_to帮助器中有一个:popup参数(http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to)