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 に答える