Я привык к MySQL, но сейчас пытаюсь использовать Ruby on Rails. В MySQL у меня было бы две таблицы, одна из которых содержала бы ссылку на другую («сообщения», ссылающиеся на «тему»). Запрос MySQL, выполняющий то, что я хочу, будет похож на «SELECT * FROM Posts WHERE posts.topic =« topic »(« тема »здесь - переменная).Интерфейс базы данных Ruby on rails
Однако, пытаясь работать с моделью Ruby, у меня есть . спутать переменные передается между контроллером и видом являются недействительными, поскольку они пустые таблицы
в мой контроллер:.
def topic
@topic = Topic.where(params[:topic])
@posts = Post.where(topic: @topic.object_id)
end
Я не знаю, как выбрать сообщения, которые имеют определенную тему переменная «тема».
На вид:
<% @posts.each do |post| %>
<p><%= post.title %></p>
<% end %>
Миграционные файлы:
class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :title
t.string :text
t.references :topic
t.timestamps
end
end
end
class CreateTopics < ActiveRecord::Migration
def change
create_table :topics do |t|
t.string :topic
t.timestamps
end
end
end