ActiveRecord :: RecordNotFound (Не удалось найти виды без идентификатора) - PullRequest
1 голос
/ 21 сентября 2010

Я пытаюсь выучить некоторые Rails, но мне кажется, что я застрял в этой основной задаче.

В моей форме создания "Catch" я использую раскрывающийся список, чтобы связать улов с видом. Это делает хорошо:

<select id="catch_species_id" name="catch[species_id]">  
<option value="">Please >select</option>  
<option value="1">A species</option>  
</select>

И помощник, которым я пользуюсь, -

<%= collection_select(:catch, :species_id, @species, 
      :id, :name, {:prompt => true}) %>

Но когда я пытаюсь создать «улов», я получаю ошибку:

Parameters: {"utf8"=>"✓",
   "authenticity_token"=>"tfS0WZGGZABBOk9UbPbAvnU3iCqXLvDODivL3+Jr7Io=", 
   "catch"=>{"length"=>"55", "weight"=>"66", **"species_id"=>"1"**}, 
   "commit"=>"Create Catch"}

ActiveRecord::RecordNotFound (Couldn't find Species without an ID):

Вид с идентификатором 1 существует, но мой контроллер, похоже, не находит его или параметр, он кажется правильным, но не будет работать.

def create  
   @species = Species.find(params[:species_id])  
   @catch = @species.catches.create(params[:catch])  
   redirect_to species_path(@species)  
end

1 Ответ

3 голосов
/ 21 сентября 2010

Это должно выглядеть следующим образом: -

@ видов = Species.find (params [: catch] [: видов_ид])

Спасибо, Анубхоу

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