использование .each на моей странице говорит неопределенный метод - PullRequest
0 голосов
/ 10 октября 2011

Я пытаюсь получить список событий с именем «Вечеринка».У меня также есть список всех событий, который работает отлично.Итак, я поместил это в мой pages_controller:

@events = Event.all.paginate(:page => params[:page])
@upcoming_events = Event.find_by_name("Party")

и вот как выглядит моя домашняя страница:

<% if !signed_in? %>
    <%= link_to "Sign up now!", signup_path, :class => "signup_button round" %>
    <ul class="users">
        <% @upcoming_events.each do |event| %>
            <%= render :partial => 'events/eventhome', :locals => {:event => event} %>
        <% end %>
    </ul>
<% else %>
    <li><%= link_to "Users", users_path %></li>
    <li><%= link_to "Events", events_path %></li>
    <li><%= link_to "Profile", current_user %></li>

    <h3>Upcoming Events</h3>
    <ul class="users">
        <% render @events %>
    </ul>
<% end %>

по какой-то причине, когда я нахожу find_by_name, он портит .each на домашней странице,Что я делаю неправильно?Это говорит. Каждый неопределенный метод.

Ответы [ 2 ]

4 голосов
/ 10 октября 2011

ответ lucapette содержит правильную причину этого.

Однако вы можете использовать динамический искатель, чтобы найти их, вы можете использовать find_all_by _ *

@upcoming_events = Event.find_all_by_name("Party")

Который достигнет того же результата.

4 голосов
/ 10 октября 2011

Динамические искатели как ваш Event.find_by_name("Party") возвращает экземпляр вашего класса Event. Я думаю, что вам нужно:

@upcoming_events = Event.where(:name=>"Party")
...