gpt4 book ai didi

ruby-on-rails - 仅在索引操作中显示属于 current_user 的任务?

转载 作者:行者123 更新时间:2023-12-02 02:17:20 26 4
gpt4 key购买 nike

我使用 bcrypt-ruby gem 从头开始​​遵循 RailsCasts 身份验证 (http://railscasts.com/episodes/250-authentication-from-scratch-revised) 并拥有 best在另一个 RailsCasts 剧集 (http://railscasts.com/episodes/302-in-place-editing) 的应用程序中就位 gem。

我有用户、 session 和任务模型。用户登录后,应用程序将用户路由到 tasks#index。我不想显示所有任务,而是只想显示属于 tasks#index 中的 current_user 的任务。

我的模型关联如下所示:订阅:has_many :users,
任务:属于_to:用户,
用户:has_many :tasks 和 belongs_to :subscription

用户表有电子邮件和密码列。任务表有内容列。

从头开始的简单例份验证在 application.rb 文件中创建了一个辅助方法,我很难在我的任务 Controller 中访问它:

def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
结尾
helper_method :current_user

我的任务#controller index 操作看起来像..

@tasks = Task.order("position")
@task = Task.new

end`

我的任务#index 看起来像这样:

`
<% @tasks.each do |task| %>
<li id="task_<%= task.id %>"><%= best_in_place task, :content %>
<%= link_to raw("&times;"), task, method: :delete, remote: true %>
<span class="handle">&mdash;</span>
</li>
<% end %>`

`

<%= form_for(Task.new) do |f| %>
<%= f.text_field :content, :placeholder => "Add a new task here" %>
<% end %>

`

如何将任务限制为仅由当前用户创建的任务?

最佳答案

因为用户有很多任务,在您的任务 Controller 中,您可以使用下面的内容将任务限制为当前用户,如下所示...

@tasks = @current_user.tasks.order("position")
@task = Task.new(:user => @current_user)

关于ruby-on-rails - 仅在索引操作中显示属于 current_user 的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9881421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com