是否为rails模型命名保留了属性? (Rails多元化正在扼杀我。)

时间:2011-07-30 15:07:57

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我正在尝试在Rails 3.1中添加一个名为Properties的模型。所以我使用ryan bates nifty生成器创建了它,虽然模型本身现在非常基础但只包括。

class Property < ActiveRecord::Base
  belongs_to :user
end

在我的资源中,我有“

resources :properties

在我的一个观点中,我只想尝试以下方法:

<% for property in Property.all %>
 <p>description etc</p>
<% end %>

但是它给了我以下错误?!

undefined method `all' for Property:Module

现在,如果我用User.all或House.all替换Property.all但是由于某种原因Property不起作用。我对铁路有点陌生,并认为它与多元化有关,但我无法弄明白并杀死我。如果有人可以请求帮助那将是史诗般的!干杯

2 个答案:

答案 0 :(得分:1)

您可以使用 Inflections 扩展默认字典(默认情况下不包括peoperty字)。官方API可以帮助您

答案 1 :(得分:0)

在您的模型定义中,您需要告诉它您的表的真实姓名,例如

class Property < ActiveRecord::Base
    set_table_name "properties"
end

另外,您可能需要稍微调整代码以显示数据,最好使用控制器来获取数据,以及显示它的视图

在您的控制器中

def index
  @properties = Property.all
end

在你看来

<% @properties.each do |property| %>
  <%= property.description %>  
<% end %>