Собственность каким-либо образом зарезервирована для именования моделей рельсов? (Множество рельсов убивает меня.) - PullRequest
0 голосов
/ 30 июля 2011

Я пытаюсь добавить модель под названием «Свойства» в Rails 3.1. Поэтому я использовал созданную ею модель, используя отличный генератор Райана Бейтса, хотя сама модель на данный момент очень проста и включает только

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

Теперь это работает, если я заменю Property.all на User.all или House.all, но по какой-то причине Property не работает. Я новичок в rails и думаю, что это как-то связано с множественным числом, но я могуне понимаю, и это убивает меня. Если кто-нибудь может помочь, это было бы эпично! Ура

Ответы [ 2 ]

1 голос
/ 31 июля 2011

Вы можете использовать Inflections , чтобы расширить словарь по умолчанию (обычное слово не включено по умолчанию).Официальный API может помочь вам в этом

0 голосов
/ 30 июля 2011

В определении вашей модели вы должны сообщить ему настоящее имя вашей таблицы, например.

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

Также вы можете немного адаптировать код для отображения ваших данных, лучше использовать ваш контроллерчтобы захватить данные, и представление для их отображения

В вашем контроллере

def index
  @properties = Property.all
end

По вашему мнению

<% @properties.each do |property| %>
  <%= property.description %>  
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...