我似乎无法将我的event.rb数据库链接到我希望它们显示在我的html page.html.erb页面上。
这是我收到的错误 未定义的方法`title'
这是它不喜欢的线
<p> <%= link_to 'events', event_path(Event.title) %></p>
event.rb
class Event < ActiveRecord::Base
has_many :events
validates_presence_of :title, :whyGo
validates_length_of :whyGo, minimum: 20
validates :image_url, allow_blank: true, format: {
with: %r{\.(gif|jpg|png)\Z}i,
message: 'must be a URL for GIF, JPG or PNG image.'
}
def self.get_current_events(current_date)
@cga_events = Event.all.select('title').from('events').distinct
#Queries the database for events ranging between the two DateTimes *Parameterized Query*
Event.where('date BETWEEN ? AND ?', DateTime.now.beginning_of_day, DateTime.now.end_of_day).limit(1)
end
end
page.html的相关部分,我试图循环播放事件
<%= @cga_events.each do |event_obj| %>
<p> <%= link_to 'events', event_path(Event.title) %></p>
<% end %>
感谢您提供的任何帮助。
答案 0 :(得分:1)
您正在课程title
上致电Event
。您需要在事件的实例上调用它,在这种情况下,您将这些实例存储在event_obj
变量中。所以你的链接应该是
<%= link_to 'events', event_path(event_obj.title) %>
顺便说一句,我认为您的link_to
语法可能会混淆一点。 event_path
应该接受Event
的实例作为参数。第一个参数是链接文本。我认为你拍摄的是
<%= link_to event_obj.title, event_path(event_obj) %>