Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 具有唯一To_do_列表的用户_Ruby On Rails_Ruby_Ruby On Rails 4_Rubygems - Fatal编程技术网

Ruby on rails 具有唯一To_do_列表的用户

Ruby on rails 具有唯一To_do_列表的用户,ruby-on-rails,ruby,ruby-on-rails-4,rubygems,Ruby On Rails,Ruby,Ruby On Rails 4,Rubygems,我正在使用用户、文章和待办事项列表制作一个应用程序 我正在使用gem bookmark_系统为文章添加书签。 书签文章列表是我将在待办事项列表中显示的内容 我希望每个用户只有一个待办事项列表。我还希望用户能够检查其他用户的待办事项列表 用户模型: class User < ActiveRecord::Base act_as_bookmarker has_many :articles has_one :to_do_list end 路线: resources :to_do_lists

我正在使用
用户、文章和待办事项列表制作一个应用程序

我正在使用gem bookmark_系统为文章添加书签。

书签文章列表是我将在待办事项列表中显示的内容

我希望每个用户只有一个待办事项列表。我还希望用户能够检查其他用户的待办事项列表

用户模型:

class User < ActiveRecord::Base
act_as_bookmarker
has_many :articles
has_one :to_do_list
end
路线:

  resources :to_do_lists
路径:

to_do_lists GET      /to_do_lists(.:format)          to_do_lists#index                           
POST                 /to_do_lists(.:format)          to_do_lists#create                                               
new_to_do_list GET   /to_do_lists/new(.:format)      to_do_lists#new                                         
edit_to_do_list GET  /to_do_lists/:id/edit(.:format) to_do_lists#edit                                       
to_do_list GET       /to_do_lists/:id(.:format)      to_do_lists#show                                           
PATCH                /to_do_lists/:id(.:format)      to_do_lists#update                                       
PUT                  /to_do_lists/:id(.:format)      to_do_lists#update                                      
DELETE               /to_do_lists/:id(.:format)      to_do_lists#destroy                                      
我对两件事感到困惑:

1-用户需要“创建”一个待办事项列表,但我不希望用户创建它,我希望它已经创建,并且仅在用户将某个内容添加到书签时显示项目

2-让一个用户访问另一个用户也会给我带来一些问题,也许一旦我明白了上面的观点,这一点就更清楚了


请给我一些灯,因为我在这里有点迷路了。提前感谢。

我终于意识到我已经有了想要显示的数据,实际上不需要创建任何控制器等

相反,对于这种情况,我在user_控制器中创建了方法,然后创建了路由以显示我想要的内容

如果我想让用户在to_do_列表中创建任务,那么to_do_列表控制器是有意义的

class ToDoListsController < ApplicationController
  def index
    @articles_bookmark = current_user.bookmarkees_by(Article)
  end
class ToDoLists < ActiveRecord::Migration
  def change
  create_table :to_do_lists do |t|
  t.belongs_to :user, index: { unique: true }, foreign_key: true
  end
  end
end
create_table "to_do_lists", force: :cascade do |t|
    t.integer "user_id"
  end
  add_index "to_do_lists", ["user_id"], name: "index_to_do_lists_on_user_id", unique: true
  resources :to_do_lists
to_do_lists GET      /to_do_lists(.:format)          to_do_lists#index                           
POST                 /to_do_lists(.:format)          to_do_lists#create                                               
new_to_do_list GET   /to_do_lists/new(.:format)      to_do_lists#new                                         
edit_to_do_list GET  /to_do_lists/:id/edit(.:format) to_do_lists#edit                                       
to_do_list GET       /to_do_lists/:id(.:format)      to_do_lists#show                                           
PATCH                /to_do_lists/:id(.:format)      to_do_lists#update                                       
PUT                  /to_do_lists/:id(.:format)      to_do_lists#update                                      
DELETE               /to_do_lists/:id(.:format)      to_do_lists#destroy