Ruby on rails 方法,如果用户是RIAL中某个类别的mod,则返回true或false
我想写一个简单的mod方法,检查一个表,看看用户是否是某个类别的版主,然后返回true或false 一旦制定了方法,我希望写下如下内容:Ruby on rails 方法,如果用户是RIAL中某个类别的mod,则返回true或false,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我想写一个简单的mod方法,检查一个表,看看用户是否是某个类别的版主,然后返回true或false 一旦制定了方法,我希望写下如下内容: if current_user.mod? #or mod(current_user)? blah else blah blah end 这是我的 def mod @user = current_user.id User.find(@user).anime_mods_relationships.where("anime_category_id =
if current_user.mod? #or mod(current_user)?
blah
else
blah blah
end
这是我的
def mod
@user = current_user.id
User.find(@user).anime_mods_relationships.where("anime_category_id = ?", params[:anime_id])
end
在保存用户id和类别id的关系表中将用户关联为MOD
此方法仅查找关系。我不知道如何将其更改为返回true或false,这取决于它是否能够找到关系。我在想可能存在什么?方法可能有效,但无法描述如何将其集成到方法中
我正在制作一个rails应用程序,以便更好地使用rails,但我还没有从零开始制作一个方法(除了在教程中)。最好的方法是什么?干净的方法
class User < ActiveRecord::Base
def mod_of?(anime_id)
anime_mods_relationships.exists?(anime_category_id: anime_id)
end
end
@SzilardMagyar我没有一个布尔mod列存储在用户表中,所以user.mod?行不通。用户可以调节多个类别,类别可以有多个mods,所以我制作了一个mods关系表。看起来很棒。但是这种方法是如何工作的呢?就像它如何知道在db中检查类别id和用户id是否配对一样,我得到了一个错误:未定义的方法'mod#u of',奇怪的是它没有定义。你能把你的整个
user.rb
发出来供参考吗?我把这个方法放在了动漫类控制器的文件里。动画类别控制器创建动作是我调用的current\u user.mod\u of?params[:anime\u id]
。不,我的意思是你应该把这个方法放到models/user.rb
文件中。这是模型的逻辑。
if current_user.mod_of? params[:anime_id]
# do something
else
# do another thing
end