我有两个模型:用户和描述。所有用户都有一个描述,所有描述都属于一个用户。我创建了一个创建描述的表单,但是当我尝试在视图中检索描述数据时,我做不到。我检查了我的数据库,并且描述表的 user_id 列没有更新。我认为这应该通过 has_one/belongs_to 关系自动发生。如何解决此问题,以便 user_id 字段自动填充用户 ID?
这是我的用户模型:
class User < ActiveRecord::Base
has_one :description
accepts_nested_attributes_for :description
end
这是我的描述模型::
class Description < ActiveRecord::Base
belongs_to :user
end
这是我的描述控制器:
class DescriptionsController < ApplicationController
def new
@description = Description.new
@current = current_user.id
end
def create
#Description.create(description_params)
@description = Description.create(description_params)
redirect_to student_path
end
def index
end
private
def description_params
params.require(:description).permit(:skills, :looking_for, :my_idea, :user_id)
end
end
这是视图:
<div class="span6 offset3 text-center">
<h1>Edit your information</h1>
<%= simple_form_for @description do |f| %>
<%= f.input :skills %>
<%= f.input :looking_for, :label => 'What help do you need?' %>
<%= f.input :my_idea %>
<%= f.input :user_id, :as => :hidden, :value => @current %>
<%= f.submit "Save", :class => "btn btn-primary btn-large" %>
<% end %>
</div>
我已经尝试从接受的参数中删除 user_id - 这没有任何作用。我也尝试过使用隐藏字段传递 user_id - 这不起作用,但我也不认为它应该是必要的,我认为这不是解决问题的正确方法。