Я создаю программное обеспечение форума. Я хочу, чтобы администраторы и моды могли закрыть определенные темы.Restrict attr_accessible для типов пользователей с Ruby on Rails
Коды дезинфицируются, чтобы показывать только релевантную информацию.
Модель
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
Схема для пользователя: администратора и моды столбцов определяют админ и моды.
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
для ТЕМЫ модели, потому что она будет уязвима для запроса вредоносных PUT (поправьте меня, если я ошибаюсь).
Есть ли способ, с помощью которого приложение Rails может получить доступ и изменить значение столбца closed
TOPIC без использования attr_accessible
, так что только моды и администраторы могут их редактировать?