0

これは、マイクロポスト ビューの関連部分です。.

<li>
  <span class="content"><%= micropost.content %></span>
  <span class="product"><%= micropost.product %></span>
  <span class="price"><%= micropost.price %></span>
  <span class="location"><%= micropost.location %></span>
  <span class="timestamp">
    Posted <%= time_ago_in_words(micropost.created_at) %> ago.
  </span>
  <% if current_user?(micropost.user) %>
    <%= link_to "delete", micropost, method:  :delete,
                                     confirm: "You sure?",
                                     title:   micropost.content %>
  <% end %>

最近、マイクロポスト テーブルの列に製品、価格、場所を追加しました。データベースにチェックインしたところ、これらの側面が記録/書き込まれていますが、何らかの理由でアプリに表示されるのはコンテンツだけです。なぜ他の人は除外されているのですか?

生成された HTML は次のとおりです。これが関連するセクションであると想定しています。製品の html を見るとわかるように、価格と場所は生成されません。

   <li id="1">
  <a href="/users/1"><img alt="alex" class="gravatar" src="http://gravatar.com/avatar/a6759dcef8e5aad4e77509e5479b9823.png?s=50" /></a>
  <span class="user">
    <a href="/users/1">alex</a>
  </span>
  <span class="content">first</span>
  <span class="timestamp">
    Posted less than a minute ago.
  </span>
    <a href="/microposts/1" data-confirm="You sure?" data-method="delete" rel="nofollow" title="first">delete</a>
</li>

コンテンツはattr_accessorであり、それが表示されるため、attr_accessorとattr_accessibleの違いだとは思いません。また、違いを読みましたが、ここでは関係がないようです。attr_accessible が正しいと思います。さらに、attr_accessorに変更しようとしましたが、うまくいきませんでした。他のアイデアはありますか?よろしくお願いします!

4

2 に答える 2

1

表示しようとしているマイクロポスト (ID = 1) のフィールド (:product、:price、:location) にデータが入力されていますか?

于 2012-08-13T09:04:48.963 に答える
0

span生成された HTML にはこれらのフィールドのタグさえないため、Rails がビュー ファイルの最新バージョンをロードしていないことが問題のようです。本番環境または開発環境で実行していますか? Rails サーバーを再起動しましたか?

また、それらがデータベース列である場合attr_accessibleよりも、正しいことは正しいです。attr_accessor

また、生成された HTML のキャッシュされたコピーを表示する何らかの種類のキャッシュが有効になっているかどうかを確認することもできます。たとえばcontent、データベースの値を変更して、それが生成された HTML に反映されているかどうかを確認できます。

于 2012-08-13T23:05:43.737 に答える