Я создаю программу для форума. Я хочу, чтобы администраторы и модераторы могли закрывать определенные темы.
Коды дезинфицируются, чтобы отображать только актуальную информацию.
Модели
class User < ActiveRecord::Base
attr_accessible :name, :email, :password, :password_confirmation, :bio
has_many :topics, dependent: :destroy
end
class Topic < ActiveRecord::Base
belongs_to :user
attr_accessible :name, :last_post_id, :content
end
Схема для пользователя: столбцы admin и mod определяют администраторов и модов.
create_table "users", :force => true do |t|
t.string "name"
t.string "email"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "password_digest"
t.string "remember_token"
t.boolean "admin", :default => false
t.text "bio"
t.boolean "mod", :default => false
end
Схема для темы: закрытый столбец определяет закрытый статус темы.
create_table "topics", :force => true do |t|
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "forum_id"
t.string "name"
t.integer "last_post_id"
t.integer "views"
t.integer "user_id"
t.boolean "closed", :default => false
t.text "content"
end
Я не хочу использовать пользователя attr_accessible :closed
для модели TOPIC, потому что он будет уязвим для вредоносного запроса PUT (поправьте меня, если я ошибаюсь).
Есть ли какой-то способ для приложения Rails получить доступ и изменить значение столбца closed
TOPIC без использования attr_accessible
, чтобы только моды и администраторы могли их редактировать?