动作控制器:异常未定义方法'标题'

时间:2014-02-24 01:57:23

标签: ruby-on-rails ruby

我似乎无法将我的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 %>

感谢您提供的任何帮助。

1 个答案:

答案 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) %>