加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 使用current_page在rails中路由错误?

发布时间:2020-12-17 03:13:19 所属栏目:百科 来源:网络整理
导读:我正在尝试使用current_page向我的应用添加一些条件开放图形标记,但是我收到了一个路由错误: 这是我在rake路线上获得的 product GET /products/:id(.:format) {:action="show",:controller="products"} 这部分是我的意思: % if current_page?(:controller
我正在尝试使用current_page向我的应用添加一些条件开放图形标记,但是我收到了一个路由错误:

这是我在rake路线上获得的

product GET    /products/:id(.:format)    {:action=>"show",:controller=>"products"}

这部分是我的意思:

<% if current_page?(:controller => 'products',:action => 'show') %>
...
<% end %>

但我得到:

Routing Error

No route matches {:controller=>"products",:action=>"show"}

我尝试过使用产品和产品,但似乎都没有用.有什么想法吗?

解决方法

你也应该传递id:

<% if current_page?(:controller => 'products',:action => 'show',:id => params[:id]) %>

更新:

但是,此实现假定呈现此部分的页面具有id作为参数.如果他们不这样做,最好使用局部变量.

render :partial => 'blah_blah',:locals => {:id_for_route_verification => params[:id] || 0}

并在部分使用新的局部变量

<% if current_page?(:controller => 'products',:id => id_for_route_verification) %>

我知道这有点像黑客.但是,首先,您应该考虑使用content_for在有条件的情况下部分地呈现内容而不是通过current_page?途径

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读