0

新しいプロジェクトを作成するフォームがあります。

= form_for(@project, :html => { :class => 'addProjectForm' }) do |f|
  #actions
    = f.submit
  %p
    = f.label :name
    %br
    = f.text_field :name, :class => 'projectName'
  %p
    = f.label :ticket
    %br
    = f.text_field :ticket, :class => 'ticket'
 %p
    = f.label "Crew Member Name"
    = f.label "Crew Member Role"
    %br
    = f.text_field :crew_members.name
    = f.collection_select :crew, CrewMember.all, :role, :role
    = f.submit "Add More Crew Members", :id => 'add-crew-member'
  %p

:crew_members.name まではすべて正常に動作します。私は取得し続けundefined method "name" for :crew_member:Symbolます。以前のタグはすべて Project テーブルを更新していますが、CrewMembers を更新できません。モデルはこちら。

class CrewMember < ActiveRecord::Base
  attr_accessible :name, :role
  belongs_to :project
end

事前に助けてくれてありがとう。

4

1 に答える 1

1

Create an object @crew_member in the action which calls this form, I suppose that would be the new action:
@member = @project.build_crew_member (If you are using rails 3) or
@member = @project.crew_member.build (If < rails 3)

Then in your form, use the fields_for form tag to capture crew_member fields:
<%= f.fields_for :crew_member do |m|%>
<%= m.text_field :name%>

于 2012-05-05T11:28:46.360 に答える