В настоящее время у меня есть таблица компаний, и у каждой компании есть таблица для хранения данных о финансировании с указанием даты и денежной стоимости. Я могу создавать новые данные в консоли rails с
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>}
мои фонды создания из db:
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) %>
мои фонды_контроллер:
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..
мои модели/company.rb:
class Company < ActiveRecord::Base
has_many :empnumbers
has_many :funds
end
мои модели / fund.rb:
class Fund < ActiveRecord::Base
belongs_to :company
end
мои маршруты.rb:
resources :companies do
resources :funds
end
Спасибо за помощь!!