У меня есть модель сообщений и модель категорииПоказать все сообщения своей категории
class Category < ActiveRecord::Base
has_many :posts
attr_accessible :name
end
Class Post < ActiveRecord::Base
belongs_to :category
attr_accessible :comments, :title, :category_id, :user_id, :photo
end
То, что я пытаюсь сделать, это повторное использование (применять DRY принцип) при использовании переменной @posts экземпляра в моем приложении. Я думаю, что я где-то попал в путаницу. Каждый пост имеет свою собственную категорию.
На мой взгляд, у меня есть все категории, перечисленные
<% @categories.each do |c, v| %>
<li><%= link_to c, blog_path(:name => c) %></li>
<% end %>
контроллер
def blog
if params[:month]
date = Date.parse("1 #{params[:month]}") # to get the first day of the month
@posts = Post.where(:created_at => date..date.end_of_month) # get posts for the month
elsif params[:name]
@posts = Post.where(:name => params[:name])
else
@posts = Post.all(:order => "created_at DESC")
end
@latest = Post.latest_posts
@posts_by_month = Post.all.group_by { |post| post.created_at.strftime("%B %Y") }
#Category Section down side of page
@categories = Category.all.group_by { |c| c.name }
end
Что я хочу добиться того, чтобы нажать на категорию, а затем он будет отображать все сообщения, относящиеся к этой категории , в момент нажатия на ссылку категории я получаю
Mysql2::Error: Unknown column 'posts.name' in 'where clause': SELECT `posts`.* FROM `posts` WHERE `posts`.`name` = 'Ruby'
вы до сих пор не указано ваша проблема? :) –
ive добавлено небольшое обновление до дна вопроса, но я подумал, что это довольно прямолинейно? Я хочу нажать на ссылку категории, т. е. Ruby, а затем отобразить все сообщения, имеющие эту категорию – Richlewis
Кажется, что в вашей таблице posts нет столбца имен. Вы добавили colum и выполнили миграцию? – Santhosh