0

私は公益事業の請求アプリを作成していますが、顧客には多くの測定値があります。リーディングはお客様のものです。

私のroutes.rbで

resources :customers do 
    resources :readings
end

特定の顧客のビューで、したがって私の顧客コントローラーで新しい読み取りを作成したいと考えています。

def show
    @customer = Customer.find(params[:id])
    @reading = Reading.new(:customer => @customer)
    respond_to do |format|
      format.html
    end
end

次に、Customer's show ビューで、新しい顧客の読みを追加するためのフォームを以下のように追加します。

<%= simple_form_for @customer,@reading do |f| %>
   <%= f.input :customer, :value => @reading.customer.name %>
   <%= f.input :date_of_reading, :as => :date %>
<% end %>

ただし、localhost:3000/customers/1 にアクセスすると、読み取りを追加するために追加したコードに対して、Customers#show エラーで no-method が表示されます。何が問題なのですか?

4

1 に答える 1

0

問題は、フォームが配列を想定しているのに、2 つの別個のオブジェクトを渡していることです。変化する:

<%= simple_form_for @customer, @reading do |f| %>

に:

<%= simple_form_for [@customer, @reading] do |f| %>
于 2012-11-21T12:35:18.053 に答える