0

こんにちは私はこれがかなり初心者の質問になるだろうと思います..しかし..

listというスキャフォールドがあります。これはhas_many:wishesです。モデルにその情報があれば、リストビューでこのコードを使用できます

さて今私はstatusboardと呼ばれるコントローラーを作りました..そしてその中に私は3つの機能を持っています..またはそれを言う方法..しかしそれはインデックス、ログイン、ログアウトです..そして..ログインとファイル#app/にありますviews / statusboard/loggedin.html.erbこれを表示したい。

ハウディ{ユーザー名}、あなたは{カウントリスト}リストを作成しました、そして{カウントウィッシュ}ウィッシュ

これが私が自分のファイルに書くべきだと思ったということです。

Howdy {Username}、あなたは<%= h @ user.list.count%>リストを作成しました、そして<%= h @ user.wishes.count%>は願います

私のリストモデルは次のようになります=

クラスリスト<ActiveRecord::Base

  attr_accessible:user_id、:name、:description

  所属する:users

  has_many:wishes

終わり

そして私の願いのモデルはこのようなものです=

クラスWish<ActiveRecord:: Base

  attr_accessible:list_id、:name、:price、:link、:rating、:comment

  所属する:リスト

終わり

そして最後に私のユーザーモデルは次のようになります=

クラスUser<ActiveRecord:: Base

  #デフォルトのデバイスモジュールを含めます。利用可能な他のものは次のとおりです。

  #:token_authenticatable、:lockable、:timeoutable

  devise:database_authenticatable、:registerable、#:confirmable、

             :recoverable、:rememberable、:trackable、:validatable

  #モデルのアクセス可能な(または保護された)属性を設定する

  attr_accessible:email、:password、:password_confirmation

  has_many:lists

終わり

誰かが私を助けてくれることを願っています:-)!/オルフニールセン

4

3 に答える 3

0

ユーザーの has_many :through 関連付けを追加します。

class User < ActiveRecord::Base
  ...
  has_many :lists
  has_many :wishes, :through => :lists
end

そして、あなたは使用することができます

@user.wishes.count
于 2010-05-23T20:54:18.310 に答える
0

このメソッドをユーザーモデルに記述します

#copy the below code in /app/models/user.rb file`
def wishes_count
  counter = 0
  self.lists.each do |list| # this is similar to @user.lists 
    counter += list.wishes.count #this is similar to @list.wishes
  end
  return counter
end

{Username} さん、こんにちは。<%=h @user.list.count %> 個のリストを作成し、<%=h @user.wishes_count %> 個の願い事を作成しました

ユーザーはウィッシュに直接関係していないため、@user.wishes.count は使用できません。このソリューションがうまくいくことを願っています。ご不明な点がございましたら、コメントをお寄せください。

于 2010-05-23T16:09:12.380 に答える
0

これは少し関係がありませんが、h html サニタイズ ヘルパー メソッドを使用する必要はありません。

<%=h @user.list.count %>

count は Ruby によって生成されたメソッドであり、ユーザーが作成したものではないためです。

于 2010-05-24T01:34:39.353 に答える