【发布时间】:2013-04-09 22:27:38
【问题描述】:
应用概念:
我目前正在构建一个 Ruby on Rails [3.2] 应用程序,它由 2 个非常基本的控制器组成 - 用于用户身份验证的 accounts 和属于帐户的 messages。
# app/models/account.rb
class Account < ActiveRecord::Base
has_many :messages
end
# app/models/message.rb
class Message < ActiveRecord::Base
belongs_to :accounts
end
然后,我粗略地设置我的routes.rb 以允许用户查看嵌套在帐户下的消息:
# config/routes.rb
resources :accounts do
resources :messages
end
问题:
我希望用户无需在 URL 中使用 ID 参数即可访问他们的帐户,如下所示:example.com/accounts/,它工作得非常好。
每当我尝试访问:example.com/accounts/messages 但是,rails 将“消息”视为accounts_controller 的参数!我现在可以访问消息的唯一方法是:/accounts/5236/messages - 这不是我想要的。
我的问题是,有没有办法阻止/屏蔽 rails 检查我的帐户控制器上的参数,以便我可以像上面的示例一样访问我的消息?我真的对这个感到困惑,所以请分享您的想法和想法!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.2 routes params nested