AnA*_*ice 50 ruby-on-rails ruby-on-rails-3
我在控制器中有以下内容
def update
@permission = Permission.find_by_user_id(params[:user_id])
Run Code Online (Sandbox Code Playgroud)
但我希望它也可以通过另一个参数找到, project_id
我如何在Rails中做这样的事情?
@permission = Permission.find_by_user_id_and_project_id(params[:user_id],params[:user_id])
Run Code Online (Sandbox Code Playgroud)
Jes*_*ott 65
是的,您可以通过多种方式进行查找.
您的示例适用于:
@permission = Permission.find_by_user_id_and_project_id(params[:user_id],params[:project_id])
- 注意你的例子有两个user_ids
在rails 2.x中,您还可以使用条件
@permission = Permission.find(:conditions=>["user_id=? and project_id=?", params[:user_id], params[:project_id]])
Run Code Online (Sandbox Code Playgroud)
在Rails 3中,你可以很酷:
@permission = Permission.where(:user_id=>params[:user_id]).where(:project_id=>params[:project_id]).first
Run Code Online (Sandbox Code Playgroud)
Fre*_*ore 64
Rails 4引入了find_by方法:
Permission.find_by(user_id: params[:user_id], project_id: params[:project_id])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40259 次 |
| 最近记录: |