我想在我的应用程序的登录页面中显示filterrific表单。如何让表单响应不同的控制器操作?
以下代码来自Filterrific Sample Application。我想搜索并过滤学生模型。我希望我的应用程序的用户能够从欢迎控制器的主页搜索学生。
public SyncHelper(Context context, String accountName) {
Account account = null;
Account[] accounts = AccountManager.get(context).getAccounts();
for (Account acc : accounts) {
if(acc.name.equals(accountName) && acc.type.equals(ACCOUNT_TYPE)){
account = acc;
}
}
if(account == null){
throw new InvalidParameterException("Account not found");
}
init(context, account);
}

此代码有效,因为我在学生控制器的index.html页面中进行了filterrific设置。我想在我的欢迎控制器的主页中显示此表单,以便当用户放置他们的过滤条件并进行搜索时,它会将他们带到学生索引页面及其搜索结果。我如何从那里开始工作?我应该对表单做些什么改变?
查看此页面以获取示例应用程序。 Example Filterrific application
感谢您的帮助。
答案 0 :(得分:1)
您需要针对所需行为执行以下操作:
:url
上的form_for_filterrific
选项,以便提交StudentsController#index
而不是主页。id
attr添加Ajax行为。因此,关闭Auto ajax submit的最简单方法是更改id。Submit
按钮以进行手动提交。以下是相关代码:
<%= form_for_filterrific(
@filterrific,
url: students_path,
html: { id: :manual_filterrific_form }
) do |f| %>
[form inputs go here ...]
<%= f.submit "Show students" %>
<% end %>
现在表单显示在主页上。当用户设置过滤器并点击“显示学生”时,他们将转到StudentsController#index
并查看已过滤的学生列表。