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