Sli*_*k23 5 ruby-on-rails-3 ruby-on-rails-3.1
我正在尝试使用添加一些条件开放图形标记到我的应用程序current_page,但是我收到了一个路由错误:
这就是我的成就 rake routes
product GET /products/:id(.:format) {:action=>"show", :controller=>"products"}
Run Code Online (Sandbox Code Playgroud)
这部分是我的意思:
<% if current_page?(:controller => 'products', :action => 'show') %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
但我得到:
Routing Error
No route matches {:controller=>"products", :action=>"show"}
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用product和products,但既不似乎工作.有什么想法吗?
你也应该传递id:
<% if current_page?(:controller => 'products', :action => 'show', :id => params[:id]) %>
Run Code Online (Sandbox Code Playgroud)
更新:
但是,此实现假定呈现此部分的页面具有id作为参数.如果他们不这样做,最好使用局部变量.
render :partial => 'blah_blah', :locals => {:id_for_route_verification => params[:id] || 0}
Run Code Online (Sandbox Code Playgroud)
并在部分使用新的局部变量
<% if current_page?(:controller => 'products', :action => 'show', :id => id_for_route_verification) %>
Run Code Online (Sandbox Code Playgroud)
我知道这有点像黑客.但是,首先,您应该考虑使用content_for部分有条件地呈现内容而不是通过current_page?方法
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |