Rails 4,从数组中创建popover链接

时间:2014-06-09 23:22:01

标签: jquery ruby ajax twitter-bootstrap ruby-on-rails-4

我有用户可以推荐其他用户'配置文件(不要担心模型和关联,它们工作正常),我可以通过在控制台中使用current_user.profile.recommended_by来查看哪些用户推荐了current_user的配置文件。我想要做的是创建一个"链接" (无处可去)当我点击它时会显示一个弹出窗口,其中显示推荐current_user的每个人的姓名以及指向每个推荐者的个人资料页面的链接。

我有一个popover功能(来自Twitter Bootstrap),可以正常使用静态内容

profile.html.erb

   ......
    Recommended by <%= link_to "#{current_user.profile.recommended_by.count} users", "#", id: "example", datacontainer: "body", datatoggle:"popover", dataplacement:"right", title: "static stuff" %>
    .......

我认为我想要的是将动态数组传递给&#34;标题:&#34;?我不知道该怎么做。

profile.html.erb

 ...........
<% current_user.profile.recommended_by.each do |r| %>
    <% r.first_name => array1 %>
        <% r.last_name => array1%>
    <% end %>

 Recommended by <%= link_to "#{current_user.profile.recommended_by.count} users", "#", id: "example", datacontainer: "body", datatoggle:"popover", dataplacement:"right", title: :array1 %>
.......................

你可能会说,我是Ruby on Rails&amp;的新手。网络开发,任何帮助将不胜感激!


更新

我想出了如何传递数组:

PagesController

  def page

@recusers = current_user.profile.recommended_by
@recnames = @recusers.collect do |recuser| 
  recuser.first_name + " "+ recuser.last_name[0]
 end 

end 

当我将@recnames传递给&#34;标题:&#34;它显示我想要的名称!但是如何将其链接到每个的个人资料页面?

1 个答案:

答案 0 :(得分:0)

比我想象的更简单:

profile.html.erb

................
Recommended by <%= link_to  "#{current_user.profile.recommended_by.count} users", "#", id: "example", datacontainer: "body", datatoggle:"popover", dataplacement:"right", "data-content" => "#{@recnames.map{|a, b| link_to a, profile_path(b)}.join(', ')}" %>
...............

PagesController

  def den

@recusers = current_user.profile.recommended_by
@recnames = @recusers.collect do |recuser| 
  [recuser.first_name + " "+ recuser.last_name[0], recuser.profile]
end 


end