Ruby on rails Rails 4资源定制问题
我们有一个标签资源:Ruby on rails Rails 4资源定制问题,ruby-on-rails,Ruby On Rails,我们有一个标签资源: resources :tags, only: [:index, :show, :update, :destroy] 我正试图复制标签/tag部分的功能: <%= render partial: 'tags/tag', collection: tags %> ## <~ my copy ## <%= render partial: 'collections/collection', collection: collections %> <
resources :tags, only: [:index, :show, :update, :destroy]
我正试图复制标签/tag
部分的功能:
<%= render partial: 'tags/tag', collection: tags %> ## <~ my copy ##
<%= render partial: 'collections/collection', collection: collections %>
<%= render partial: 'saved_searches/saved_search', collection: saved_searches %>
<%= render partial: 'tags/tag', collection: tags %>
<%= render feeds %>
<% hide_drawer = (session[:view_mode] == 'view_unread' && tag.unread_count == 0 && !tag.user_feeds.any?) ? true : false %>
<li data-tag-id="<%= tag.id %>" data-feed-id="tag-<%= tag.id %>" class="<%= selected("tag_#{tag.id}") %>">
<%= link_to tag_path(tag.id), remote: true, class: 'feed-link tag-link', data: { behavior: 'selectable reset_entry_position show_entries open_item feed_link', mark_read: {type: 'tag', data: tag.id, message: "Mark #{tag.name} as read?"}.to_json } do %>
<span class="favicon-wrap">
<span class="favicon favicon-tag"></span>
</span>
<%= content_tag :span, tag.unread_count, class: 'count' + hide_count(tag.unread_count) %>
<% unless hide_drawer %>
<%= render partial: 'tags/tag_visibility', locals: {user: @user, tag: tag} %>
<% end %>
<%= tag.name %>
<% end %>
<div class="drawer <%= hide_drawer ? ' hide' : '' %>" data-hidden="<%= drawer_visible?(tag.id) ? 'false' : 'true' %>" style="<%= drawer_visible?(tag.id) ? '' : 'height: 0;' %>">
<ul>
<%= render tag.user_feeds %>
</ul>
<i class="drawer-arrow"></i>
</div>
</li>
以下是展示方法:
def show
@user = current_user
update_selected_feed!("tag", params[:id])
@tag = Tag.find(params[:id])
@feed_ids = Tagging.where(tag_id: @tag, user_id: @user).pluck(:feed_id)
feeds_response
@append = !params[:page].nil?
@type = 'tag'
@data = params[:id]
@collection_title = @tag.name
@collection_favicon = 'favicon-tag'
respond_to do |format|
format.js { render partial: 'shared/entries' }
end
end
我试图做的是重用相同的部分,只输出名为“Mailbox”的标记。我是否需要向该方法添加一些逻辑以使部分只显示名为“Mailbox”的标记?我如何告诉partial只显示一个“邮箱”标记?如果您有任何建议或帮助,我将不胜感激。我是一名新的Rails开发人员 两种方式
通过本地
<%= render partial: 'tags/tag', locals: {tag: tags.find{|t| t.name == "Mailbox"}}%>
传递一个仅包含一个标记的数组
<%= render partial: 'tags/tag', collection: tags.collect{|t| t.name == "Mailbox"} %>
为true:TrueClass提供未定义的方法“未读计数”
。感谢您的帮助使用本地版本有效,但集合版本无效。还向normals标记添加了拒绝方法:tags.reject{| t | t.name==“Mailbox”}