0

私は今、ユーザーがすでに登録した画像を自分の「マイページ」に表示しようとしています。そこで、以下のコードを書いてみたのですが、うまくいきません。

☆members_controller

 @member= Member.find(params[:id])
 @member.groups.reverse.map do |group|
 @join_groups_images = group.imageurl

☆(メンバー)show.html.erb

<div class="join_groups_images">
<%= image_tag @join_groups_images, :width => '20px' ,:height => '25px' %>
</div>

☆(モデル)member.rb

class Member < ActiveRecord::Base
 attr_accessible :admin, :mail, :memo, :name, :pass, :user, :pass_confirmation

 has_many :group_in_members, :dependent => :destroy
 has_many :groups, :through => :group_in_members

☆(モデル)group_in_member.rb

class GroupInMember < ActiveRecord::Base
  attr_accessible :group_id, :member_id

  belongs_to :group
  belongs_to :member
end

☆schema.rb

create_table "groups", :force => true do |t|
   t.string   "name"
   t.text     "memo"
   t.boolean  "admin"
   t.datetime "created_at", :null => false
   t.datetime "updated_at", :null => false
   t.string   "imageurl"
end
4

1 に答える 1

1

メンバーコントローラーのアクションからコード全体を提供しませんでしたが、.map{|| を使用していると思います。間違った方法で。Memberモデルに配列またはメソッドを含む変数が必要です。

class Member < ActiveRecord::Base
  ...

  def images
    groups.reverse.map(&:imageurl)
  end

  ...
end

そして、これをあなたの見解に入れます

<ul class="join_groups_images">
  <% @member.images.each do |image| >
    <li><%= image_tag image %></li>
  <% end>
</div>

それはトリックを行う必要があります。

于 2013-11-14T16:32:18.220 に答える