Помогите с рельсами отдыхайте стандартно - PullRequest
0 голосов
/ 01 декабря 2009

У меня есть контроллер сообщений, который объявлен как ресурс в моих маршрутах.

Я хочу иметь возможность просмотра списка полученных сообщений. и другой вид отправленных сообщений.

Но я не хочу нарушать схему отдыха ... Что вы, ребята, рекомендуете?

Ответы [ 2 ]

4 голосов
/ 01 декабря 2009

в config / rout.rb :

map.resources :messages, :collection => { :sent => :get, :received => :get }

Тогда в вашем messages_controller.rb :

def received
  @messages = Message.to(current_user)
end

def sent
  @messages = Message.from(current_user)
end

В вашем message.rb определите эти два именованных метода области действия.

Или, как указал Тони Фонтено:

def received
  @messages = current_user.messages.to
end

def sent
  @messages = current_user.messages.from
end
0 голосов
/ 01 декабря 2009

Не усложняйте

/messages?view=sent

В вашем index методе



def index
    @messages = case params[:view]
    when 'sent'
      Messages.sent
    when 'received'
      Messages.received
    else
      Messages.all
    end
end

Посмотрите, как плагин inherited_resources обрабатывает Scoping.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...