私は、ユーザーと子供の間に設定された単純なHABM関係を持っています。HABTM messing me up - Rails 3
子があなたに属している場合は、子とこの子オブジェクトが属する他のユーザーの名前を確認してください。何らかの理由で、私はその子が属する他のユーザーの名前を表示できません。
私は、次のような選択:
@children = Child.all(:include => :users, :conditions => ["users.id = ? AND enrolled = ?", current_user.id, true])
、そのように印刷しよう:
<% for user in child.users%>
<% if can? :manage, Child %>
<a rel='tipsy'><%= link_to '[#{user.first_and_last_name}]', edit_child_path(child), :title => "#{user.updateChoice}"%></a>
<%else%>
<a rel='tipsy'><%= link_to '[#{user.first_and_last_name}]', new_parentnote_path, :title => "#{user.updateChoice}"%></a>
<%end%>
<%end%>
それは右の子供を選択したが、他のユーザーの名前を印刷しません。現在のユーザーの名前のみ。
すべての子供を選択した場合、
Child.allはすべて正常に動作します。すべての名前が印刷され、私の認証システムでは何か怪しげなことをするのではなく、他の何かをしていると言われています...私はいくつかの方法を試しましたが、おそらく私は子供を選んだのです=(
本当に何かが欠けているかどうかはわかりません明らかにこれは時間のために私が困惑している
すべてのヘルプは大歓迎ですおかげ
はEDIT - 。。。。怒鳴るここに要求されたスキーマであるに追加スキーマは
関係は、微細な設定されています私が知る限りでは、それはただの上記で説明したように起こっていないcurrent_userに基づいて複数のユーザーを作成します。 子が複数のユーザーを持っていても上記のクエリを使用すると(私はchild.countを実行することによってそれを認識します)、何らかの理由で現在のユーザーの名前のみを出力します。よく
create_table "children_users", :id => false, :force => true do |t|
t.integer "child_id"
t.integer "user_id"
end
次に子供がいます。
create_table "children", :force => true do |t|
t.string "first_name"
t.string "last_name"
t.boolean "enrolled", :default => true
t.datetime "unenrolled_datetime"
end
とユーザー
create_table "users", :force => true do |t|
t.string "email"
t.string "encrypted_password"
t.string "first_name"
t.string "last_name"
........ other stuff to reset password etc
end
あなたの中に引用符'link_to'が間違っています... –
キャッシュしてくれてありがとう。 DIVが問題に関連していなかったので、DIVを過去に取り出したときの問題でした。分かりやすくするためにdivsを正確にそこに戻してください。 – Yuri