Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将收集数据保存到会话Rails 4中_Ruby On Rails_Ruby_Session - Fatal编程技术网

Ruby on rails 将收集数据保存到会话Rails 4中

Ruby on rails 将收集数据保存到会话Rails 4中,ruby-on-rails,ruby,session,Ruby On Rails,Ruby,Session,我有一个问题,我想保存我的数据从2收集选择到一个会话中,以便在使用此数据创建供应商或转发商等 这是因为我想用一个用户登录,这个用户可以选择一个客户端和一个角色,将数据保存到一个会话中,并使用它创建数据供应商和其他东西 我的导航栏菜单应用程序布局中有两个集合: <%= collection_select(:client, :client_id, Client.all, :id, :name, prompt: "Escoge empresa", class: "form-control")%&

我有一个问题,我想保存我的数据从2收集选择到一个会话中,以便在使用此数据创建供应商或转发商等

这是因为我想用一个用户登录,这个用户可以选择一个客户端和一个角色,将数据保存到一个会话中,并使用它创建数据供应商和其他东西

我的导航栏菜单应用程序布局中有两个集合:

<%= collection_select(:client, :client_id, Client.all, :id, :name, prompt: "Escoge empresa", class: "form-control")%>
<%= collection_select(:user, :role_id, Role.all, :id, :name, prompt: "Escoge cliente", class: "form-control")%>

所以我不知道怎么做,因为我想我需要创建一个带有动作的控制器?并在我的收藏中使用此操作?我不确定我只是需要一点指导

问候!谢谢你给我时间

  • 您可以使用这两个选项创建表单
  • 您提交此表单,它将在控制器中调用操作
  • 在此操作中,您存储客户端和用户的
    id
    (不要存储完整记录,只存储它们的id以保持会话较小,并避免反序列化记录的问题)
在您的SelectionController中(或您将其称为什么)

  • 添加一个helper方法来检索用户和客户端
在应用程序控制器中:

helper_method :selected_user, :selected_client

def selected_user
  @selected_user ||= User.find(session[:selected_user_id])
end

def selected_client
  ...
end

参数名称取决于构建表单的方式。动作名称。但这应该让你开始。否则,请提出更详细的问题。

谢谢!现在我更明白了!
helper_method :selected_user, :selected_client

def selected_user
  @selected_user ||= User.find(session[:selected_user_id])
end

def selected_client
  ...
end