現在、私は会社のテーブルを持っており、各会社には資金調達データを日付と金額で保存するテーブルがあり、レールコンソールで新しいデータを作成できます
Fund.create :date_of_record=>"2010-01-02", :company_id=>"1", :money=>"2003"
会社のページ (例: company_id=1) に移動すると、コンソールから入力したデータを表示し、編集、更新できますが、クリックして新しい資金データを追加すると、取得しています
No route matches {:controller=>"funds", :company_id=>#<Fund id: nil, date_of_record: nil, company_id: 1, money: nil, created_at: nil, updated_at: nil>}
私はデータベースから資金を作成します:
class CreateFunds < ActiveRecord::Migration
def change
create_table :funds do |t|
t.datetime :date_of_record
t.references :company
t.integer :money
t.timestamps
end
add_index :funds, :company_id
end
end
私の資金/new.html:
<% form_for ([@company, @fund]) do |f| %>
<p>
<%= f.label :date_of_record %><br />
<%= f.text_field :date_of_record %>
</p>
<p>
<%= f.label :money %><br />
<%= f.text_field :money %>
</p>
<p>
<%= f.submit "Create" %>
</p>
<% end %>
<%= link_to 'Back', company_funds_path(@fund) %>
私のfunds_controller:
def new
@company = Company.find(params[:company_id])
@fund = @company.funds.build
end
def create
@company = Company.find(params[:company_id])
@fund = @company.funds.build(params[:fund])
if @fund.save
redirect_to company_fund_url(@company, @fund)
else
render :action => "new"
end
end
etc..
私のモデル/会社.rb:
class Company < ActiveRecord::Base
has_many :empnumbers
has_many :funds
end
私のモデル/fund.rb:
class Fund < ActiveRecord::Base
belongs_to :company
end
私のroutes.rb:
resources :companies do
resources :funds
end
助けてくれてありがとう!!