Проблема при редактировании записи - PullRequest
0 голосов
/ 02 сентября 2011

я пытаюсь отредактировать одну запись моих таблиц в rails 3, но произошла ошибка ann следующим образом: ActiveRecord :: RecordNotFound в WordsController # edit в моем контроллере:

def edit
        @adverb =Adverb.find(:id)
  end

иНа мой взгляд, у меня есть:

 <% @adverb.each do |av| %>
            <tr class="<%= cycle("odd", "even") -%>">
            <td><%= av.name  %></td>
            <td><%= av.bedeutung %></td> 
            <td>
            <%= link_to 'edit',{:controller => 'words',:action => 'edit',:id=> av.id} %>
            </td>
            </tr>
 <% end %>

Как я могу решить эту проблему?

Ответы [ 3 ]

1 голос
/ 02 сентября 2011

это просто

@adverb = Adverb.find(params[:id])

Вам не нужен параметр .first на конце, который нужен только при использовании оператора where

1 голос
/ 02 сентября 2011

:id - это просто символ, вы ищете значение этого символа в хэше params

Поэтому вместо

Adverb.find(:id)

Используйте

Adverb.find(params[:id])

Это вернет единственную запись, которая соответствует значению :id в хэше params, который, вероятно, приходит от вас url /adverbs/:id

Если нет записи с предоставленным идентификатором, тогда ActiveRecord::RecordNotFoundбудет сгенерировано исключение, которое при разработке покажет вам страницу трассировки стека, а при производстве отобразит страницу 404.

1 голос
/ 02 сентября 2011

Попробуйте

@adverb = Adverb.find(params[:id])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...