我有一个问题模型,它有许多不同的字段/参数。如果我想查看所有这些内容,我只想去:
http://localhost:3002/questions
为了查看一个特定的问题,我会去
http://localhost:3002/questions/1
如何查看满足特定参数要求的问题?像
这样的东西http://localhost:3002/questions?difficulty=1
只是给出与查看所有问题相同的结果。我知道语法上我已经走了......但是有人能引导我朝着正确的方向前进吗?如何在控制器端进行设置?
答案 0 :(得分:2)
您必须拦截控制器中的参数并使用参数过滤结果。
def index
if params[:difficulty]
@questions = Question.where(difficulty: params[:difficulty])
else
@questions = Question.all
end
end
答案 1 :(得分:0)
您可以传递参数取决于您的条件
参见示例
查看:强>
<%= link_to "View", questions_path(:difficulty => 1) %>
注意:您可以将动态值发送到难度参数
<强>控制器:强>
def index
if params[:difficulty]
@questions = Question.all.where(:difficulty => params[:difficulty])
else
@questions = Question.all
end
end
<强>的routes.rb 强>
resources :questions
答案 2 :(得分:-1)
您应该提供更多信息,但如果您正在运行rails框架,这可能会指出您正确的方向。我会在数据库对象中创建关联,以便它们可以共享某些特征。看看这个,看看这是否是您尝试做的,http://guides.rubyonrails.org/association_basics.html。至于控制器,您可以在此处定义调用关联的方法。