在Helper模块中创建可单击链接列表

时间:2013-12-26 07:26:15

标签: ruby-on-rails ruby-on-rails-4 view-helpers helpermethods

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

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

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

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

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

为什么不在.each上执行@user.links

你可以这样做:

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

这会否定加载助手的要求

答案 2 :(得分:1)

您使用此代码

 def directory(links)
    links.inject([]) {|_, e| _ << link_to e.name, e.address; _ }.join.html_safe
 end

答案 3 :(得分: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