Ruby on Rails
Saturday, September 2, 2017
In your CurrentEvents controller's index action you need to query for events, e.g.
On Sunday, September 3, 2017 at 4:26:42 AM UTC+2, Ben Edwards wrote:
-- class CurrentEventsController < ApplicationController
def index
@current_events = CurrentEvent.limit(100
end
end
On Sunday, September 3, 2017 at 4:26:42 AM UTC+2, Ben Edwards wrote:
Ive been reading quite a few guides on this and my first attempt was not successful. What I have done so far is writern n a migration for the view and got that working:class UpcommingEvents < ActiveRecord::Migration[5.1]
def up
self.connection.execute %Q( CREATE OR REPLACE VIEW upcoming_events AS
SELECT v.name "Venue",
to_char(e.start_date,'Day') "Day",
e.start_time,
e.title "Event",
e.description
FROM events e,
venues v
WHERE v.id = e.venue_id
AND e.start_date
BETWEEN (CURRENT_DATE -INTERVAL '1 day')::date
AND (CURRENT_DATE + INTERVAL '7 day')::date
order by start_date, v.name
)
end
def down
execute "DROP VIEW upcoming_events"
end
endCreated a controller:class CurrentEventsController < ApplicationController
def index
end
endAnd a Modelclass CurrentEvent < ApplicationRecord
endAnd a View<p id="notice"><%= notice %></p>
<h1>Current_Events</h1>
<table>
<thead>
<tr>
<th>Venue</th>
<th>Day</th>
<th>Start Time</th>
<th>Event</th>
<th>Description</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% current_event.each do |ce| %>
<tr>
<td><%= ce.venue %></td>
<td><%= ce.day %></td>
<td><%= ce.start_time %></td>
<td><%= ce.event %></td>
<td><%= ce.description %></td>
</tr>
<% end %>
</tbody>
</table>
<br>Bit when I add it as a route and browse to the page I getNameError in CurrentEvents#index
Showing /home/ben/eventpuddle/
eventpuddle/rails/eventpuddle/ where line #18 raised:app/views/current_events/ index.html.erb undefined local variable or method `current_event' for #<#<Class:0x007f64a41d4740>:
Extracted source (around line #18):0x007f648d40ba48> Did you mean? current_events_index_url 17 <tbody>18 <% current_event.each do |ce| %>19 <tr>20 <td><%= ce.venue %></td>21 <td><%= ce.day %></td>
Rails.root: /home/ben/eventpuddle/
eventpuddle/rails/eventpuddle
I also added to
config/application.rb
and run 'config.active_record.schema_
format = :sqlrake db:migrate db:test:prepare'
Not sure where I am going wrong;(.
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/099d172c-9b86-4332-8f8b-285aabc95692%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment