rails 中 class 属性的未定义方法错误
Undefined method error on class attributes in rails
嗨,我是 Rails 上 Ruby 的新手,所以如果问题有些愚蠢,请原谅我。
我目前正在遵循指南here。(它是用繁体中文写的)。
而在那一章中,作者正在谈论设置资源的状态。
首先,它编辑了 app/model/event.rb 文件
def closed?
self.status == "CLOSED"
end
def open?
!self.closed?
end
def open!
self.status = "OPEN"
self.save!
end
def close!
self.status = "CLOSED"
self.save!
end
然后是 config/routes.rb 文件。
resources :events do
resource :state, :controller => 'event_states'
# ...
end
然后 app/view/events/show.html.erb 文件并插入以下代码。
<p>Status: <%= @event.status %></p>
<p>
<% if @event.closed? %>
<%= link_to '[Open]', event_state_path(@event ), :method => :post %>
<% else %>
<%= link_to '[Close]', event_state_path(@event), :method => :delete %>
<% end %>
</p>
我知道它试图通过 POST 和 DELETE http 请求切换事件的状态,但我在显示页面上收到 "NoMethod" 错误。这是可以理解的(?)因为 class "event".
中没有这样的变量
undefined method `status' for #<Event:0x007f5e59b3b988>
<% end %>
</p>
<p>Status : <%= @event.status %></p>
<p>
<% if @event.closed? %>
对这个问题有什么想法吗?
(如果您需要其他信息,请告诉我)
我猜你可能错过了上一章https://ihower.tw/rails4/basic.html
在页面四分之一的某个地方,它添加了一个迁移以将 status
属性添加到 event
模型。通过
rails g migration add_status_to_events
并进行了一些迁移。
如果您不熟悉迁移,我强烈建议您查看 http://guides.rubyonrails.org/active_record_migrations.html
上的迁移
嗨,我是 Rails 上 Ruby 的新手,所以如果问题有些愚蠢,请原谅我。
我目前正在遵循指南here。(它是用繁体中文写的)。
而在那一章中,作者正在谈论设置资源的状态。
首先,它编辑了 app/model/event.rb 文件
def closed?
self.status == "CLOSED"
end
def open?
!self.closed?
end
def open!
self.status = "OPEN"
self.save!
end
def close!
self.status = "CLOSED"
self.save!
end
然后是 config/routes.rb 文件。
resources :events do
resource :state, :controller => 'event_states'
# ...
end
然后 app/view/events/show.html.erb 文件并插入以下代码。
<p>Status: <%= @event.status %></p>
<p>
<% if @event.closed? %>
<%= link_to '[Open]', event_state_path(@event ), :method => :post %>
<% else %>
<%= link_to '[Close]', event_state_path(@event), :method => :delete %>
<% end %>
</p>
我知道它试图通过 POST 和 DELETE http 请求切换事件的状态,但我在显示页面上收到 "NoMethod" 错误。这是可以理解的(?)因为 class "event".
中没有这样的变量undefined method `status' for #<Event:0x007f5e59b3b988>
<% end %>
</p>
<p>Status : <%= @event.status %></p>
<p>
<% if @event.closed? %>
对这个问题有什么想法吗? (如果您需要其他信息,请告诉我)
我猜你可能错过了上一章https://ihower.tw/rails4/basic.html
在页面四分之一的某个地方,它添加了一个迁移以将 status
属性添加到 event
模型。通过
rails g migration add_status_to_events
并进行了一些迁移。
如果您不熟悉迁移,我强烈建议您查看 http://guides.rubyonrails.org/active_record_migrations.html
上的迁移