Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 - Fatal编程技术网

Ruby on rails 查找用户是否已将其添加到其提醒集合中

Ruby on rails 查找用户是否已将其添加到其提醒集合中,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有3个数据库表和3个模型以及它们之间的关系。 数据库表包括:feed\u条目,用户,提醒 User和FeedEntry有许多提醒 提醒属于用户和反馈条目 我有一个名为“以后阅读”的按钮,当用户单击它时,它会将记录保存到“提醒”表中。在/user/members页面上,我显示了用户希望“以后阅读”的所有链接/记录 到目前为止一切都很顺利。但是,我想“隐藏/删除”用户已将其添加到提醒收集中的记录/链接的“以后阅读”按钮 查看代码: #recent_episodes %h2 Send me

我有3个数据库表和3个模型以及它们之间的关系。 数据库表包括:
feed\u条目
用户
提醒

  • User
    FeedEntry
    有许多提醒
  • 提醒
    属于
    用户
    反馈条目
我有一个名为“以后阅读”的按钮,当用户单击它时,它会将记录保存到“提醒”表中。在
/user/members
页面上,我显示了用户希望“以后阅读”的所有链接/记录

到目前为止一切都很顺利。但是,我想“隐藏/删除”用户已将其添加到提醒收集中的记录/链接的“以后阅读”按钮

查看代码:

#recent_episodes
  %h2 Send me to random news
  %p= link_to "Send me to random news", article_path(@random), class: "btn btn-info"
  %hr
  %h3 Feeds
  #products
    .row
      - @entries.each do |entry|
        .col-md-12
          = link_to h(entry.name), article_path(entry)
          - if entry.summary.blank?
            %p no summary
          - else
            %p= sanitize entry.summary
          %p
            = link_to 'Link', entry.url, target: "_blank"
            %span - Views #{entry.hits}
            %p= entry.source

          %p Points #{entry.cached_votes_total}
          .btn-group
            = link_to like_article_path(entry), method: :put, class: "btn btn-default btn-sm" do
              %span.glyphicon.glyphicon-chevron-up
              Upvote
              \#{entry.get_upvotes.size}
            = link_to dislike_article_path(entry), method: :put, class: "btn btn-default btn-sm" do
              %span.glyphicon.glyphicon-chevron-down
                Downvote
                \#{entry.get_downvotes.size}

          - if user_signed_in?
              = simple_form_for [@reminder, Reminder.new]  do |f|
                .form-group
                  = hidden_field :user_id,  :user_id, :value => current_user.id

                .form-group
                  = f.label :feed_entry_id
                  = f.text_field :feed_entry_id, :value => entry.id

                .form-group
                  = f.submit "read later", class: "btn btn-xs btn-primary"

          %hr

      = paginate @entries

任何我能解决的线索都将不胜感激

我认为正确的方法是在用户上创建一个新方法,如:

def has_reminder?(feed_entry)
  reminders.where(feed_entry: feed_entry).any?
end
在你看来,你应该:

<%= link_to_unless(@current_user.has_reminder?(feed_entry), "Read Later", ...) %>

请发布您的视图代码,这样我们就可以看到您如何呈现要隐藏的链接。