Получена синтаксическая ошибка, неожиданное '=', ожидание ключевого слова_when для кода - PullRequest
2 голосов
/ 29 февраля 2012

У меня есть таблица Cases с ассоциацией has_many для пользователей. Я пытаюсь отобразить все случаи, связанные с пользователем, отображая его на странице показа пользователя. Я не могу представить дело здесь. Любая помощь будет оценена.

Мой код для страницы показа пользователя:

 <table >
  <tr>
    <td >
      <h1>
        Welcome <%= current_user.first_name %>  you are <%= current_user.role %>    
      </h1>
    </td>
    </tr>
    <tr>
      <td>
        <% render @cases %>
      </td>
    </tr>
    </table>

Показывать контроллер в пользователях:

     def show
    @user = User.find(params[:id])
    @cases = @user.cases
    @title = @user.first_name
    end

У меня есть файл _case.html.erb в представлениях / случаях.

1 Ответ

6 голосов
/ 29 февраля 2012

Проблема в том, что case является зарезервированным словом в Ruby, и когда он делает render @cases, он пытается создать локальную переменную с именем case в частичном, что недопустимо. Вы должны вызвать локальную переменную как-нибудь еще. документы здесь объясняют, как с этим примером:

# Renders a collection of partials but with a custom local variable name
render :partial => "admin_person", :collection => @winners, :as => :person

В вашем случае это будет:

render :partial => 'case', :collection => @cases, :as => :current_case

А затем в частичном случае просто используйте переменную current_case, где в противном случае вы использовали бы переменную case.

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