Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 根据控制器及其嵌套资源限制导航链接的最佳实践?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 根据控制器及其嵌套资源限制导航链接的最佳实践?

Ruby on rails 根据控制器及其嵌套资源限制导航链接的最佳实践?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一些基本的用户导航,只有在用户查看帐户或其任何嵌套资源(成员、联系人等)时才需要显示。第一个想法是检查是否有帐户实例 - if @account = link_to 'members', account_members_path(@account) 但这也将使新帐户上的链接行动成为可能,这是一个不可能的行动。因此,如果@account不是新记录,我需要隐藏链接 这很管用,但很难看。我可以把它放在一个助手里 - if @account and @account.new_record?

我有一些基本的用户导航,只有在用户查看帐户或其任何嵌套资源(成员、联系人等)时才需要显示。第一个想法是检查是否有帐户实例

- if @account
   = link_to 'members', account_members_path(@account)
但这也将使新帐户上的链接行动成为可能,这是一个不可能的行动。因此,如果@account不是新记录,我需要隐藏链接

这很管用,但很难看。我可以把它放在一个助手里

- if @account and @account.new_record? == false

但是,是否有执行此检查的最佳实践

通常会将菜单移动到部分菜单中,并且仅在其他操作的模板中渲染它


对于这种基本的东西,没有“最佳实践”,你所做的很容易理解和工作,这有什么不好呢?

只是不知道是否有比每次都要检查@account是否是新记录更好的方法。。。也许有一种更好的方法我不知道