Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Session 生成当前会话';将用户id插入rails中的表单中_Session_Ruby On Rails 4_Activerecord - Fatal编程技术网

Session 生成当前会话';将用户id插入rails中的表单中

Session 生成当前会话';将用户id插入rails中的表单中,session,ruby-on-rails-4,activerecord,Session,Ruby On Rails 4,Activerecord,我有两张表,用户和收入。User有一个id列,Income有一个User\u id外键,该外键引用User的id列。在模型中创建了关联:用户将拥有多个收入,收入属于用户。我希望收入模型中的new.html.erb提交一个新的收入项目,并将其外键设置为会话的当前用户id,而无需在表单中输入用户id(这意味着用户必须使用其帐户登录) 这是我的应用程序控制器: class ApplicationController < ActionController::Base protect_from_fo

我有两张表,用户和收入。User有一个id列,Income有一个User\u id外键,该外键引用User的id列。在模型中创建了关联:用户将拥有多个收入,收入属于用户。我希望收入模型中的new.html.erb提交一个新的收入项目,并将其外键设置为会话的当前用户id,而无需在表单中输入用户id(这意味着用户必须使用其帐户登录)

这是我的应用程序控制器:

class ApplicationController < ActionController::Base
protect_from_forgery with: :exception

 private
   def current_user
    @current_user ||= User.find(session[:user_id]) if session[:user_id]
   end
   helper_method :current_user #make the private method to be accessible for the view
 end
end
class ApplicationController
以下是收入模型的mynew.html.erb:

<h1>Add New Income</h1>
<div class="field">

<%= form_tag %>
<%= label_tag :title %>
<%= text_field :title, params[:title] %>
<%= label_tag :amount %>
<%= number_field :amount, params[:amount] %>
<br>
<% if current_user %>
User ID:<%= current_user.id %>
User Name: <%= current_user.user_name %>
<% :user_id = current_user.id%>
<% end %>
<%= submit_tag "Submit" %>
增加新收入

用户ID: 用户名:
试试看

{:class=>“form”})do | f |%>

用户ID: 用户名:
试试看

{:class=>“form”})do | f |%>

用户ID: 用户名:
<%= form_for(@income, :html =>{:class => "form "}) do |f| %>
    <%= label_tag :title %>
    <%= text_field :title, params[:title] %>
    <%= label_tag :amount %>
    <%= number_field :amount, params[:amount] %>
    <br>
    <% if current_user %>
        User ID:<%= current_user.id %>
        User Name: <%= current_user.user_name %>
        <%= f.hidden_field :user_id, value: current_user.id%>
    <% end %>
    <%= submit_tag "Submit" %>
<% end %>