2014-01-29 5 views
1

Не уверен, почему, но я получаю эту ошибку: Couldn't find Teamplayer without an IDНе удалось найти TeamPlayer без ID

Это происходит на этой линии:

<%= select_tag "test3", options_from_collection_for_select(Teamplayer.find(@ids), "id", "playerid") %> 

у меня есть это в моем TeamPlayer контроллер:

def index 
    @teamplayers = Teamplayer.all 
    @ids = params[:ids] 
end 

Значение, которое должно исходить от jQuery

var ids = 1 
$.post("http://localhost:3000/teamplayers/", { ids:ids}, function(data) { 
    alert('test 3'); 
    }); 

Я запустил firebug на jquery, и идентификаторы переменной устанавливаются, но я думаю, что так или иначе, что он не доходит до контроллера. Почему это? Я хочу выполнить перенос этой переменной обратно на ту же страницу, но в select_tag, который был выше.

+0

Я подозреваю, что params [: ids] равен нулю, что приведет к ошибке, которую вы видите. Какова ценность параметров, когда это сообщение происходит? Должно быть возможно видеть его в вашей консоли –

+0

в firebug, это то, что выглядит столбец с переменной переменной ids: '$ .post (" http: // localhost: 3000/teamplayers/", {1: 1}, функция (data) {alert ('test 3'); – user3240928

+0

и да params [: ids] равно нулю, но почему переменная переходит к контроллеру, где я пытаюсь установить его в переменную экземпляра – user3240928

ответ

0

Изменить содержание в вашем select_tag к

<%= select_tag "test3", options_from_collection_for_select(Teamplayer.all, "id", "playerid") %> 

Вы перечисляете все команды игроков в раскрывающемся списке, так Teamplayer.all будет делать трюк.

+0

, которая работает, но я имеют значение 1, установленное в том, что имеет точное значение id для элементов, которые я хочу, потому что я хочу только идентификаторы для людей, принадлежащих команде 1 – user3240928

Смежные вопросы