我正在尝试创建一个学校模型,用户可以使用:school_name (string)、:description (string)和:created_by_user (integer)属性创建该模型。
用户应该只能访问和更改name和description参数,并且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值?
谢谢
发布于 2012-06-10 09:50:09
你会想要在你的控制器而不是你的视图中定义它。类似于:
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
https://stackoverflow.com/questions/10965683
复制相似问题