【发布时间】:2011-10-01 02:16:24
【问题描述】:
首先,我搜索路线以检查所有路线并确保它存在于我的应用程序中。
在我的 route.rb 中
resources :user do
resource :account
resource :addresses
end
现在一切都很好。我有一些路径辅助方法。比如
user_addresses_path
这个辅助方法在任何地方都可以正常工作(我的意思是它可以在每个视图模板中工作),除了一个地方。它不能在我用户的视图模板下工作。我给你看看。
#it works here.
#this file is under app/view/address
<%= user_addresses_path(@user) %>
#it doesn't work here.
#this file is under app/view/user
<%= user_addresses_path(@user) %>
为了方便,这里就不贴所有代码了。
但如果你明白我的意思,你知道的,只要告诉我为什么会这样。
如果您想了解更多详细信息,请添加评论。
【问题讨论】:
-
您是否遇到错误?是
@usernil吗? -
当然不是零。错误是无法匹配控制器地址。但它适用于除那里以外的任何地方
-
这与我之前看到的并不完全相似,但我想知道您是否在路由文件中将
addresses复数化了,但 set 是单个的资源。并不能真正解释您设置的条件行为。 -
您会看到 user_addresses_path 在任何地方都有效,这意味着辅助方法是绝对正确的。但它根本无法在用户视图模板下工作。不奇怪吗?
标签: ruby-on-rails routes ruby-on-rails-3.1