0

用户有一组已保存的链接。

每个链接都有属性addresstext。这些可以像这样访问:

@user.links.first.address
@user.links.first.text

如何a为用户保存在辅助方法中的所有链接生成标签列表,我可以从视图中调用?

4

4 回答 4

2

你可以试试

def create_links
 html=""
 @user.links.each do |link|
  html += link_to "Link for #{link.address}", "#"
  html += link_to "Link for #{link.text}", "#"
 end
  html.html_safe
end
于 2013-12-26T07:43:34.517 回答
1

你为什么不直接做.each一个@user.links

你可以这样做:

<% @user.links.each do |link| %>
    <%= link_to link.text, link.address %>
<% end %>

这将否定加载助手的要求

于 2013-12-26T14:56:39.257 回答
1

您使用此代码

 def directory(links)
    links.inject([]) {|_, e| _ << link_to e.name, e.address; _ }.join.html_safe
 end
于 2013-12-26T15:16:58.427 回答
0

也许我表达得不够清楚,因为这两个答案都使用了我不太理解的方式link.addresslink.text但它给了我足够的信息来自己解决它。我是这样做的:

def link_generator(user_links)
  html = ""
  user_links.each do |link|
    html += link_to link.name, link.address
  end
  html.html_safe
end
于 2013-12-26T08:13:28.317 回答