在 rails 中安全地将数据从视图传递到控制器

Pass data safely from view to controller in rails

我想将数据从视图 (link) 传递到控制器,以便它可以查找相关信息。在这种情况下,为公司提供服务。

我看到有人像这样添加到参数的示例:

<div>
    <%= link_to 'Services', :controller => 'company', :action => 'services', :company_id => @company.id %>
</div>

...但这会导致像这样的透明(不安全)URL:

http://localhost:5000/company/services?company_id=17

有没有办法在不向会话中填充数据的情况下解决这个问题?在需要身份验证的应用程序中,links 的最佳做法是什么?

<%= link_to "Sign in", new_session_path(:id => Base64.encode64("1")) %>

并在您的控制器中

def new
  id=Base64.decode64(params[:id].to_s)
end

这是用数据

创建link的另一种形式

使用命令 un console rake routes 检查你的路由

有关详细信息,请阅读此文档

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

在 View 中传递这样的数据没有这么大的危害。

如果你坚持要,那么检查 prettyurls:

http://railscasts.com/episodes/314-pretty-urls-with-friendlyid

在此之前,我们必须对控制器和模型文件进行有效检查。

 1. Valid Checks and redirection in Controller is helpful.
 2. Depending on need adding validations in model can be a good support.