1

ユーザーの色の好みを保存する適切な方法は何だろうと思っていました。つまり、ユーザーがオブジェクトの種類に基づいてニュースフィードの背景色を選択できるとします。つまり、画像の場合は背景が青色、投稿の場合はオレンジ色などになります。

人はそれをどのように行うべきですか?私の意見では、すべての異なるタイプを区別することができません。現在、@feeds_item コレクション リストがあり、各オブジェクトをレンダリングしています。それから私は..の線に沿って何かを持っています

<% if feed_item.is_a? Post %>
    #render specific view

ユーザーが選択したものに基づいて色を設定するというビューで考えていました。しかし、どうすればそれを行うことができますか?ユーザーの色設定を User モデルまたは Post モデルに保存する必要がありますか? 画像 モデル?

Post オブジェクトの私のパーシャルでは、私は...

<li id="<%= feed_item.id %>">

  <%= link_to image_tag(feed_item.user.image_url(:thumb), :class => "image_avatar"), 
    feed_item.user %>

  <span class="user">
    <%= link_to feed_item.user.name, feed_item.user %>
  </span>
  <span class="content"><%= wrap(feed_item.content) %></span>
  <span class="timestamp">
    Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
  </span>

  <% if current_user == feed_item.user %>
    <%= link_to "delete", feed_item, method: :delete, confirm: "You sure?", title: feed_item.content %>
    <% end %>
</li>

< li >タグを次のように変更することを除いて、上記のようなことをしますか...

<li id="<%= feed_item.id %>" style="background-color=#{ ????? }">

どこ ????dbの列になりますか?これは正しい方法ですか?

4

1 に答える 1

1
  1. 属しているモデルに設定を保存する必要があります。すべての設定がユーザーに属している場合は、それを User モデルに保存します。
  2. スタイルを宣言する方法は次のとおりです。

    <li id="<%= feed_item.id %>" style="background-color:<%= feed_item.user.this_color %>">

  3. ビューをシンプルに保つために、これをビュー ヘルパーに移動することを検討してください。

于 2012-05-31T03:22:31.797 に答える