Блог Ruby on Rails с авторами - PullRequest
3 голосов
/ 23 апреля 2011

Я пытаюсь создать блог, посвященный рельсам, на котором будут страницы автора, где автор будет связан со всеми публикациями, которые автор сделал в блоге. Таким образом, будет главная страница постов в блоге, которые были добавлены, и я могу нажать на любое сообщение, чтобы прочитать его, а также нажать на автора любого сообщения, чтобы увидеть страницу этого автора. Который перечислил бы всю статью, которую автор предоставил.

Я слежу за одним из многочисленных онлайн-руководств по созданию рубиновых блогов http://sixrevisions.com/web-development/how-to-create-a-blog-from-scratch-using-ruby-on-rails,, но в примере они используют только ссылки на посты с комментариями. Я не хочу комментировать, но хочу, чтобы посты были связаны с автором. Я, очевидно, очень новичок в рельсах и не смог понять, почему моя структура не работает. Когда я пытаюсь отправить новое сообщение в блоге, я получаю сообщение об ошибке

        "Author(#-607384868) expected, got String(#-604052448)"

Блог, который я использовал, дает следующие примеры команд для создания постов и комментариев.

ruby script/generate scaffold post title:string body:text
ruby script/generate scaffold comment name:string body:text post:references

Я пытаюсь использовать

ruby script/generate scaffold post title:string body:text author:reference
ruby script/generate scaffold author name:string bio:text posts:references

но это, очевидно, не работает. Может ли кто-нибудь указать мне правильное направление, чтобы создать правильные отношения между постами и авторами? Заранее спасибо

EDIT Я поместил их в комментарии ниже, но их может быть трудно прочитать. Некоторые из моих файлов следующие: routes.rb

ActionController::Routing::Routes.draw do |map|
map.resources :posts, :belongs_to => :author
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
map.root :controller => "posts"
end 

post.rb

belongs_to :author

author.rb

has_many :posts

1 Ответ

2 голосов
/ 23 апреля 2011

Я думаю, у вас есть поле, как

<%= f.author ... %>

и вы должны использовать

<%= f.author_id ... %>

И в вашем генераторе есть ошибка:

ruby script/generate scaffold post title:string body:text author:reference

вам нужно объявить "s" на reference

ruby script/generate scaffold post title:string body:text author:references

так будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...