Noo*_*ion 3 ruby sql ruby-on-rails link-to
我对Rails,数据库和Web开发都很陌生,现在我的功能正在运行,但我100%确定它不是最干净或最Ruby-esq的方式.基本上我想使用两个单独的链接,按不同的列对同一个表进行排序,而不使用两个控制器操作和两个视图.我宁愿只使用一个索引操作来获取一个参数,该参数指示如何对返回的数据进行排序.
电流控制器:
Controller
def index
@casinos = Casino.order('name ASC')
end
def casinos_by_region
@casinos = Casino.order('location ASC')
end
Run Code Online (Sandbox Code Playgroud)
和视图中的链接
%h3 Sort by:
= link_to 'Name', casinos_path
%br
= link_to 'Location', casinos_by_region_path
Run Code Online (Sandbox Code Playgroud)
我阅读了文档,但是我没有看到使用link_to路径将参数从视图传递给控制器的明显方法?我知道我可以通过其他方式做到这一点,但我拒绝相信我不能这样做.抱歉这个愚蠢的问题!
大拇指到CDub.只是为了增强它,您可能希望通过确保params [:sort_param]包含预期值来为排序添加一点安全性,以防有人决定键入url.下面的代码不仅可以确保您获得可接受的排序键,还可以为首次访问URL提供默认值.
def index
params[:sort_param] = %w{name location}.include?(params[:sort_param]) ? params[:sort_param] : 'name'
@casinos = Casino.order "#{params[:sort_param]} ASC"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |