неопределенный метод medium_url - PullRequest
1 голос
/ 12 марта 2012

У меня есть модель 'media', и контроллер, с помощью которого я делаю любые изменения в этой таблице, называется 'MultimediaController'.

При создании нового носителя и попытке перенаправления я получаю следующееошибка: undefined method 'medium_url' for #<MultimediaController:0x007f86f49ca400>

У меня нет таблиц, моделей, контроллеров или чего-то еще, что называется «средний».Я предполагаю, что rails делает это автоматически, основываясь на моей таблице с именем 'media'.Можно ли это как-то перезаписать?

edit: мой редирект выглядит так: respond_with(@media, {:controller => 'multimedia', :action => 'index', :id => session[:user_id], :collection => @media.collection_id})

Ответы [ 2 ]

1 голос
/ 12 марта 2012

«Медиа» - это множественное число для «среднего», поэтому, похоже, у вас есть переименование или настройки в inflections.rb.

0 голосов
/ 12 марта 2012

Medium_url будет означать, что rails ищет одну запись "Medium" (или любую базу данных, с которой вы имеете дело ... медиа и т. Д.).При использовании medium_url вам нужно будет передать идентификатор для перенаправления на объект Medium.

Если вы хотите перенаправить на список всех сред (ваше действие индекса), вы должны использовать mediums_url.

Rails предлагает фантастическое руководство по спокойной маршрутизации.

http://guides.rubyonrails.org/routing.html

def create

  # Code to create the record goes here blah blah.

  # Redirect to a list of all mediums
  redirect_to mediums_url

  # Or redirect to the medium object we just created
  # redirect_to medium_url(@object)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...