0

「itemType」という配列から「タイトル」を取得しようとしています。「itemType」は、モデル「Item」内の属性です。

例:アイテム { 属性: { 名前、ID、アイテムタイプ: { タイトル、アイコン } }

欲しいものは手に入れることができましたが、たった1つのアイテムだけです。アイテムをループして一度にデータベース全体にアクセスし、個々のアイテムのタイトルを取得することはできません。ルビーは私に怒鳴ります:

undefined method `[]' for nil:NilClass

これまでのところ、私は::

<% i = 0 %>
<% len = Item.all.length %>
<% while i < len do %>
    <% items = Item.include_object(:itemType)[i] %>
    <div class="iso_holder">
       <%= item.attributes['itemType']['title']%>
    </div>
    <% i += 1 %>
<% end %>

どんな助けでも大歓迎です:)

アップデート:

アイテムモデル:

class Item < ParseResource::Base
  fields :objectId, :itemType, :user, :createdAt, :updatedAt, :ACL
  validates_presence_of :user

  belongs_to :user
end
4

1 に答える 1

1

あなたのコードはパワーやルビーを使用していないようです

これは役立つはずです。

<% Item.all.each do |item| %>
    <div class="iso_holder">
       <%= item.itemType.title unless item.itemType.nil? %>
    </div>
<% end %>

私の推測では、あなたは何らかの記録のどこかにいるitemTypeようですnil

ルビーのループも簡単に見てください

個人的には、他の言語で書いているのと同じように書いているのであれば、Ruby を使う価値はないと感じています :)

于 2012-08-17T19:28:19.030 に答える