0

我正在尝试创建一个用户可以创建的学校模型,其属性为:school_name(字符串)、:description(字符串)和:created_by_user(整数)。

用户应该只能访问和更改名称和描述参数,并且 created_by_user 字段应该自动设置为创建它的用户的 id#。

这是我的新学校表格:

<h1>Open a New School</h1>

<%= form_for(@school) do |f| %>
 <%= render 'shared/error_messages', :object => f.object %>
<%= render 'fields', :f => f %>
<div class="actions">
<%= f.submit "Create School!" %>
</div>  

这是“字段”部分

<div class="field">
  <%= f.label :school_name %><br />
  <%= f.text_field :school_name %>
</div>
<div class="field">
 <%= f.label :description %><br />
 <%= f.text_area :description, :size => "45x10" %>
 </div>

我可以在“字段”部分或其他任何地方添加什么,以便当用户创建新学校时,他们的 ID 会自动设置为 created_by_user 值?

谢谢

4

1 回答 1

1

你会想在你的控制器中定义它,而不是你的视图。就像是:

class SchoolsController < ApplicationController

  def create
    @school = School.new(params[:school])
    @school.created_by_user = current_user
    if @school.save
      redirect_to @school, notice: "School Created"
    else
      render :new
    end
  end
end
于 2012-06-10T01:50:08.940 回答