2012-05-05 4 views
0

私は新しいプロジェクトを作成しています。ビューからhas_many関係にアクセスするにはどうすればよいですか?

= 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 

ありがとうございました。
@member = @project.build_crew_memberまたは
@member = @project.crew_member.build(あなたがレール3を使用している場合)(<レール3の場合)

+0

あなたのために機能しましたか? – rb512

+0

は正常に動作しました。遅れて申し訳ありません。 – jhamm

+0

問題なし、うまくいきました! – rb512

答えて

1

このフォームを呼び出すアクションでオブジェクト@crew_memberを作成し、私はそれが新しいアクションだろうと仮定します
<%= f.fields_for :crew_member do |m|%>
<%= m.text_field :name%>

:次に、あなたの形で、crew_memberフィールドをキャプチャするfields_forフォームタグを使用
関連する問題