Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我怎样才能消除这种看法?_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 我怎样才能消除这种看法?

Ruby on rails 我怎样才能消除这种看法?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我的观点有很多重复的逻辑。我不太清楚如何把它擦干 有什么想法吗 <li><a href="#">Great Grandparents</a> <ul> <li><% if relative.humanize == "Great grandfather" || relative.humanize == "Great grandmother" %> <

我的观点有很多重复的逻辑。我不太清楚如何把它擦干

有什么想法吗

      <li><a href="#">Great Grandparents</a>
        <ul>
          <li><% if relative.humanize == "Great grandfather" || relative.humanize == "Great grandmother" %>
            <%= link_to image_tag(membership.user.avatar.url, size: "48x48", :class => "img-circle") , family_tree_path(membership.user.family_tree) %>
                <%= link_to membership.user.name, family_tree_path(membership.user.family_tree)%>
              <% else %>
              None added yet, add them <%= link_to 'here', "#" , class: 'btn invite popupbox','data-popup' => 'invite_friend' %>
            <% end %>
          </li>
        </ul>
      </li>
      <li><a href="#">Grandparents</a>
        <ul>
          <li><% if relative.humanize == "Grandfather" || relative.humanize == "Grandmother" %>
            <%= link_to image_tag(membership.user.avatar.url, size: "48x48", :class => "img-circle") , family_tree_path(membership.user.family_tree) %>
                <%= link_to membership.user.name, family_tree_path(membership.user.family_tree)%>
              <% else %>
              None added yet, add them <%= link_to 'here', "#" , class: 'btn invite popupbox','data-popup' => 'invite_friend' %>
            <% end %>
          </li>
        </ul>
      </li>
      <li><a href="#">Parents</a>
        <ul>
            <li><% if relative.humanize == "Mom" || relative.humanize == "Dad" %>
            <%= link_to image_tag(membership.user.avatar.url, size: "48x48", :class => "img-circle") , family_tree_path(membership.user.family_tree) %>
                <%= link_to membership.user.name, family_tree_path(membership.user.family_tree)%>
              <% else %>
              None added yet, add them <%= link_to 'here', "#" , class: 'btn invite popupbox','data-popup' => 'invite_friend' %>
            <% end %>
          </li>
        </ul>

      </li>
    • “img圈”),家族树路径(membership.user.family树)%> 尚未添加任何内容,请添加“邀请朋友”%>
    • “img圈”),家族树路径(membership.user.family树)%> 尚未添加任何内容,请添加“邀请朋友”%>
    • “img圈”),家族树路径(membership.user.family树)%> 尚未添加任何内容,请添加“邀请朋友”%>
  • 注意:以上内容已被截断,至少还有7个。有很多重复,但我不太确定如何用讽刺的方式把它擦干。

    在你看来:

    <% relatives_sections = [
      { section_name: 'Great grandparents', human_names: ['Great grandfather', 'Great grandmother']},
      { section_name: 'Grandparents', human_names: ['Grandfather', 'Grandmother']},
      { section_name: 'Parents', human_names: ['Mom', 'Dad']},
      ...
    ] %>
    
    <% relatives_sections.each do |section| %>
    <li><a href="#"><%= section[:section_name] %></a>
      <ul>
        <li>
          <% if section[:human_names].include?(relative.humanize) %>
            <%= link_to image_tag(membership.user.avatar.url, size: "48x48", :class => "img-circle") , family_tree_path(membership.user.family_tree) %>
            <%= link_to membership.user.name, family_tree_path(membership.user.family_tree)%>
          <% else %>
            None added yet, add them <%= link_to 'here', "#" , class: 'btn invite popupbox','data-popup' => 'invite_friend' %>
          <% end %>
        </li>
      </ul>
    </li>
    <% end %>
    
    那么,在你看来:

    <% common_vars = {user: membership.user, relative:relative} %>
    <% relatives_sections.each do |section| %>
      <%= render partial: 'relatives', locals: section.merge(common_vars) %>
    <% end %>
    
    
    

    作为最后一个步骤,您可以考虑将<代码>相对应的部分< /代码>转入帮助器,并在可能的情况下进一步将其干燥。

    成员和关系如何相互关联?
    <% common_vars = {user: membership.user, relative:relative} %>
    <% relatives_sections.each do |section| %>
      <%= render partial: 'relatives', locals: section.merge(common_vars) %>
    <% end %>