【问题标题】:User with unique To_do_list具有唯一 To_do_list 的用户
【发布时间】:2018-04-30 20:57:53
【问题描述】:

我正在使用User, Article and To_do_list 做一个应用程序

我正在使用 gem 书签系统为文章添加书签。 https://github.com/pmviva/bookmark_system

书签文章列表就是我要在 To_do_list 中显示的内容。

我希望每个用户只有 1 个 To_do_list。我还希望用户能够检查其他用户的 to_do_list。

用户模型:

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

文章型号:

class Article < ActiveRecord::Base
belongs_to :user
act_as_bookmarkee
end

to_do_list:

class ToDoList < ActiveRecord::Base
belongs_to :user
end

to_do_lists_controller.rb:

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                                      

我对两件事感到困惑:

1 - 用户需要“创建”一个 to_do_list,但我不希望用户创建它,我希望它已经创建,并且仅在用户添加书签时才显示项目。

2 - 让一个用户访问其他用户也给我带来了一些问题,也许一旦我弄清楚了上面的一点,这会更清楚。

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

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 rubygems


    【解决方案1】:

    我最终意识到我已经拥有想要显示的可用数据并且实际上不需要创建任何控制器等。

    对于这种情况,我在 user_controller 中创建了方法,然后创建了路由来显示我想要的内容。

    如果我希望用户在 to_do_list 中创建任务,那么 to_do_list 控制器会很有意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 2017-02-02
      相关资源
      最近更新 更多