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

时间:2015-11-26 12:43:49

标签: ruby-on-rails ruby

我有3个数据库表和3个模型以及它们之间的关系。 数据库表格为:feed_entriesusersreminders

  • UserFeedEntry有很多提醒
  • Reminder属于UserFeedEntry

我有一个名为稍后阅读的按钮,当用户点击它时,它会将记录保存到reminders表。在/user/reminders页面上,我显示了用户想要“稍后阅读”的所有链接/记录。

到目前为止一切正常。但是,我想“隐藏/删除”稍后阅读按钮,以获取用户已将其添加到提醒集合中的记录/链接。

查看代码:

#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

我能解决的任何线索都非常感谢。

1 个答案:

答案 0 :(得分:0)

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

$type_cond .= $type_cond . " OR t2.type = " . $value;

在你看来,做:

$type_cond .= " OR t2.type = " . $value;