2015-03-28 3 views
0

В настоящее время я пытаюсь создать ссылку на новую страницу, на которой отображаются все сообщения, относящиеся к определенной категории. Они оба связаны через отношения HABTM, как вы можете видеть ниже.Ссылка на атрибут HABTM

Category.rb

class Category < ActiveRecord::Base 
    has_and_belongs_to_many :posts 
end 

post.rb

class Post < ActiveRecord::Base 
    has_and_belongs_to_many :categories 
    belongs_to :user 
end 

index.html.erb

<%= post.categories.collect(&:name).join(",") %> 

Как бы я пойти bout создание ссылки из атрибута категории сообщений на страницу, которая отображает все сообщения из этой определенной категории?

Любая помощь будет блестящей!

Благодаря

ответ

1

Это должно работать:

<% post.categories.each do |category| %> 
    <% category.posts.each do |post| %> 
    <%= link_to post.title, post_url %> 
    <% end %> 
<% end %> 

Изменить post.title и post_url соответствующим образом.

+0

Но будет ли ссылка на страницу, в которой перечислены все записи, относящиеся к этой категории? – Jonathan

+0

Попробуйте сами и узнайте сами :-) HABTM работает в обоих направлениях; 'post.categories' &' category.posts' возвращают соответствующие записи. –

+0

Спасибо за вашу помощь! Оценил. Я получаю здесь исключение, в котором указано ** Нет маршрутов, сопоставляемых {: action => "show",: controller => "posts"} отсутствующих необходимых ключей: [: id] ** – Jonathan

Смежные вопросы