0

我有一些现有的路线,例如:

/people/:id
/events/:id

等等,在我的routes.rb.

现在我想为我的附属客户提供自定义样式。我目前的想法是我的路线将如下所示:

/people/:id
/events/:id
...

/affiliates/:id/people/:id
/affiliates/:id/events/:id
...

等等。

但是,我想确保如果我在附属页面上,我在视图中生成的链接总是带有前缀/affiliates/:id。(我不想每次使用url_forpath_for助手时都要写一个“这是一个附属机构吗?”条件。)

最好的方法是什么?

4

1 回答 1

0

在我的选择中,最好在控制器内部而不是在视图中处理该逻辑。

你可以有如下的东西:

class EventController < ApplicationController
  .
  .
  def show
    @event = Event.find(params[:id])
    if(current_user.is_affiliate?)
      #render the affiliate view
    else
      #renders regular view
    end
  end

在您看来,您可以简单地拥有

<%= link_to "Event", @event %>

这样视图就不需要管理该逻辑,您可以将其保留在控制器上。

于 2012-05-22T23:58:44.587 回答