对于每个帖子,都有后期评论。

以下是Postcomment的模型:

class Postcomment < ActiveRecord::Base
  attr_accessible :comment_content

  belongs_to :user
  belongs_to :post
end

和Post模型

class Post < ActiveRecord::Base
  attr_accessible :content, :image, :comment_content
  belongs_to :user
  has_many :postcomments, dependent: :destroy
end

我想允许用户删除自己的帖子。 这是我在视图中已经拥有的

_postcomment.html.erb

<% if post.postcomments.exists? %>
  <% post.postcomments.each do |postcomment| %>
    <%= link_to postcomment.user.name, postcomment.user %>
    <span class="content2"><%= postcomment.postcomment_content %></span>
  <% end %>
<% end %>

如何更改以下代码以允许用户删除评论?

 <% if current_user?(postcomment.user) %>
    <%= link_to "delete", postcomment.content, method: :delete,
                                             confirm: "You sure?",
                                             title: postcomment.content %>
 <% end %>

Sessions帮助器中的current_user方法

def current_user=(user)
    @current_user = user
  end

  def current_user
    @current_user ||= User.find_by_remember_token(cookies[:remember_token])
  end

  def current_user?(user)
    user == current_user
  end

这是Postcomments表

 create_table "postcomments", :force => true do |t|
    t.text      "content"
    t.integer   "user_id"
    t.integer   "post_id"
    t.timestamp "created_at",      :null => false
    t.timestamp "updated_at",      :null => false
    t.text      "comment_content"
  end

===============>>#1 票数:1

也许...

if current_user == postcomment.user

如果current_user仍然返回用户实例......

===============>>#2 票数:1

如果你只是比较用户ID可能会更好。 这也更容易调试。

def current_user?(user)
  user.id == current_user.id
end

===============>>#3 票数:0

也许是这样的:

<%= link_to("delete", postcomment.content, :method => :delete, :confirm => "You sure?", :title => postcomment.content) if postcomment.user == current_user %>

  ask by user2159586 translate from so

未解决问题?本站智能推荐:

2回复

需要允许用户删除自己的个人资料-Rails,Devise,Cancan

经过数小时的尝试,我将在这里和整个网络上找到的代码拼凑在一起,我想我已经到了使我的代码弄乱的地步。 如果您需要其他代码段,请告诉我,我将尝试在下面添加相关代码。 用户和配置文件有单独的模型。 谢谢你的帮助! 编辑:耙路线显示此路线:admin_destroy_user DELET
2回复

允许用户在Rails应用中创建特定路线

在我的Rails应用程序中,用户可以根据需要输入自己的页面域名。 保存在数据库中的域名的值。 现在,路由看起来像这样: /user/sites/3 。 因此,例如,用户输入的域名为:“ mystuff”。 以前的路线应更改为: /mystuff 如何实现呢? 谢谢。
1回复

如何允许用户安排Rails中的重复cron作业

我正在Rails中构建一个小型提醒应用程序,我想为我的用户添加能够创建cron作业的功能。 cron作业将在每周,每个月甚至一次的给定日期运行,具体取决于用户的选择和保存。 因此,用户创建了偶数,选择是每周,每天还是一次,然后创建cron作业以在Linux中运行命令行。 有什么宝石
1回复

允许用户在rails 4中编辑其个人资料字段

我有一个新问题。 我想做的事? 我已经为每个玩家创建了个人资料,现在我想允许用户编辑他们的个人资料。 此概要文件的一部分包含devise表,第二个表称为profiles 。 设计:捕获用户名,密码和电子邮件 个人资料:捕获个人信息 配置文件架构 我的p
3回复

Rails app外键错误:管理用户不允许删除其他用户

当以管理用户身份登录时尝试删除用户时,我在heroku日志中收到以下错误: 我得到的错误,因为表“车”,其中一个用户has_many车,所以我认为错误是不是删除用户,但与用户相关联的汽车。 但我不明白如何修复我的数据库,以便删除用户。 这是我的模式: schema.rb
1回复

在我的用户中显示可点击的URL在Rails中创建了注释

我对Rails还是很陌生,我不确定如何实现以下功能。 在我的Rails应用中,我的用户可以创建帖子并对其发表评论,但是,如果用户在他们创建的评论中不仅包含文本,而且包含URL,那么如何显示可点击的URL。 这是我的帖子show.html.erb模板。
2回复

我如何只允许创建类别的用户在rails中编辑它

我有两个表bookmarks和categories 。 这些模型具有HABTM关系。 一切都按预期工作,但我只想让创建category users能够编辑它们。 我在bookmarks上设置好了,但有没有办法使用bookmarks和categories之间的关系来做到这一点,或者我只是
1回复

允许用户在Rails 5中选择模板对象的表单

我正在开发一个允许用户管理财务文档和应用程序的应用程序。 用户可以单击表格中每个模板应用程序旁边的复选框,而不必让用户填写表单中的字段列表。 提交后,这些应用程序将被添加到数据库中,以后可以对其字段进行编辑。 目前,我正在使用单个应用程序模型。 所有应用程序都将具有一些共同的字段,尽
3回复

如何只允许帖子的作者编辑或在Ruby on Rails中删除它?

我有一个用户模型和一个问题模型。 在用户模型中: 问题模型: 在我的问题/ show.html.erb 只有编写问题的用户如何编辑并删除它?
2回复

Ruby-Rails如何仅允许当前用户编辑和删除他们创建的帖子

我正在制作一个博客应用程序,当用户查看帖子索引视图时,我希望他们仅编辑和删除他们创建的帖子。 我收到以下错误: nil:NilClass的未定义方法`user_id' views / posts / index.html 上面是我的if语句,它允许用户仅编辑和删除他们创建的