管理员用户批准用户的SQL更改

时间:2016-02-23 23:47:51

标签: ruby-on-rails ruby pundit cancancan

我已经读过Cancan和Pundit(也是Devise)来管理Rails应用程序中的用户。但我想知道是否有可能。

基本上,我想让用户在表中更改/添加行(目前使用SQLite,但将来会转移到SQL - 称之为条目)。但在将其添加到实际表之前,它会被发送给管理员进行审批。然后管理员可以点击批准'并且语句运行。

我只是对如何保留声明感到困惑,然后在批准时,语句就会运行。任何信息都将不胜感激。

1 个答案:

答案 0 :(得分:0)

通过声明,您的意思是您的用户实际上是在自己编写SQL吗?

如果没有,我会设置第二个与你的第一个相同的模型,它就像一个包含建议的更改/添加的某种队列。这样,您就可以在必要时比较旧语句和新语句,并且一旦获得批准,您就可以在原始语句上执行<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <include layout="@layout/toolbar" /> <android.support.design.widget.TabLayout android:visibility="visible" android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/teal" app:tabGravity="fill" app:tabIndicatorColor="@color/purple800" app:tabIndicatorHeight="4dp" app:itemIconTint="@color/tabicons" app:tabMode="fixed" app:tabSelectedTextColor="@color/tealfifty" app:tabTextAppearance="@style/TabCapsFalse" app:tabTextColor="@color/iron" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> </android.support.design.widget.CoordinatorLayout> / <?xml version="1.0" encoding="utf-8"?> <FrameLayout android:id="@+id/content_main_frame" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" /> 法术模型。

希望这会给你一些想法!