所以,我有一个应用程序,允许用户从不同的电影中观看各种剪辑。管理员负责创建Studio,其中包含电影和剪辑,以及实际上传各种电影中的剪辑。
现在,我想添加管理员选择工作室然后选择电影的功能,然后选择剪辑和日期范围,这样当他们点击"过滤"管理员将根据任何给定的剪辑获取统计信息。
统计数据最终将显示用户,用户帐户类型等...
这是一个模型,用于说明它必须如何运作:
请记住,我已经在数据库中拥有用户,工作室,电影和剪辑数据,我只想添加此过滤器功能。如果你能指出我如何做到这一点的正确方向,那就太棒了!!
谢谢!
答案 0 :(得分:1)
如果您使用脚手架生成的控制器
,这是一个解决方案class StudioController < ApplicationController
before_action :set_studio, only: [:films...]
...
def films
respond_to do |format|
format.js { render json: @studio.films.to_json }
end
end
end
然后设置路线
resources :studio do
member do
get 'films'
end
end
最后在您的视图中使用javascript映射事件
<script>
$('#studio_select').change(function() {
$.ajax({dataType: 'json', url: '/studios/' + $(this).val() + '/films.json'}).done(function(data) {
$('#film_select').html('');
$.each(data, function(id, elt) {
$('#film_select').append('<option value="' + elt.id + '">' + elt.title + '</option>');
})
})
})
</script>
等等为子元素。 不确定javascript部分,但它应该看起来像这样......
希望这会有所帮助:)