Итак, я сделал эшафот для модели под названием Club, а затем удалил столбец с именем :title
и добавил один с именем :name
. Затем я отредактировал маршрут, чтобы получить only: [:index, :show]
. Я пошел в код контроллера и сделал это так:
before_action :set_club, only: [:show]
# GET /clubs
# GET /clubs.json
def index
@social = Club.where tag: "Social"
end
# GET /clubs/1
# GET /clubs/1.json
def show
end
Затем я заполнил базу данных так:
Club.create([{ name: 'Club 1' }, {role: 'officer'}, {tag: 'Social'}, {description: 'asd'}])
Club.create([{ name: 'Club 2' }, {role: 'member'}, {tag: 'Social'}, {description: 'efg'}])
и установите вид:
<h2>SOCIAL</h2>
<% @social.each do |project| %>
<div class="club">
Project: <%= project.name %>
</div>
<% end %>
и
<strong>name:</strong>
<%= @club.name %>
<strong>Description:</strong>
<%= @club.description %>
<strong>Role:</strong>
<%= @club.role %>
<strong>Tag:</strong>
<%= @club.tag %>
<br />
<%= link_to 'Back', clubs_path %>
<br />
Однако при визуализации значения имени, тега и т. Д. Не всегда отображаются.
Это скриншоты из / клубов, / клубов / 1 и / клубов / 2 по порядку:



Кажется, некоторые поля просто не отображаются последовательно. Я получаю нулевые имена на индексном маршруте, и только одно из них показывает имя в шоу-маршруте. Есть идеи, что вызывает это? Кажется, что он находит оба клуба, потому что он печатает «Project:» дважды.
PS: моя схема.rb:
ActiveRecord::Schema.define(version: 20180630182744) do
create_table "clubs", force: :cascade do |t|
t.text "description"
t.string "tag"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "name"
t.string "role"
end
end
РЕДАКТИРОВАТЬ: Pre_action выглядит следующим образом:
def set_club
@club = Club.find(params[:id])
end
ОБНОВЛЕНИЕ: Кажется, что каждое поле читается как отдельная запись в базе данных. С семенем, показанным выше, я действительно могу пройти от clubs/1
до 8
каждый с одним заполненным полем ...