link_to功能?功能新视图?
问题描述:
我创建了一个收集模型(称为NISMO)的所有条目与所选字母/数字开头的函数:link_to功能?功能新视图?
3210我有这样我的“NISMO”控制器内。
在我的Nismo控制器的索引视图中,我有一个字母菜单,我想用它来允许用户选择,例如“B”。这将运行showByLetter函数,然后在页面中显示所有以该字母开头的条目。
我的问题是,在我的索引页我真的不知道如何让这一切发生:
<% Array('A' .. 'Z').each do |letter| %>
<%= link_to letter, showByLetter(letter) %>
<% end %>
我猜我需要为此创造一个新的view.html.erb文件“showByLetter”函数来显示它的结果。
我试图让我的头从程序员程序员的书中看到它,并且看到网络上的评论可能意味着我需要使用routes.rb文件来添加以添加东西喜欢得到正确的路线:
namespace "nismo" do
resources :nismos do
member do
get :showByLetter
end
end
end
我相信这一切都很简单,但我很困惑,需要一些指针。
任何帮助将不胜感激!
感谢
亚当
答
坦率地说,这样做是在“NISMO”控制器中的索引操作最简单的方法。你可以做的是改变
<%= link_to letter, showByLetter(letter) %>
到
<%= link_to letter, nismos_path(:letter => letter) %>
这样做是创建一个链接回当前索引页,并将它类似于
yourrooturl.com/nismos?letter=A
而一个GET paramater那么在Nismo控制器的索引操作中,只需添加一个if语句以确定是应该加载所有nismos还是仅加载该字母。类似的东西:
if params[:letter].nil?
@nismos = Nismo.all
else
@nismos = Nismo.all :conditions => ['substr(name,1,1) = ?', params[:letter]]
end
这应该解决您的问题,你将不必处理路线。