0

私はShares and Testimonialsと1対1の関係を築いています。

Testimonial.rb で:

belongs_to :share

Share.rb で:

has_one :testimonial

特定のシェアに属する紹介文を作成できるフォームをシェア ページに追加したいと考えています。

私が設定したSharesController内:

@testimonial = @share.build_testimonial

共有ビューには次のものがあります。

<%= form_for @testimonial do |f| %>  
 <%= f.text_area :message %>
<%= f.submit "Submit testimonial" %>

上記は正しいですか、それとも何らかの方法で共有オブジェクトをビューに追加する必要がありますか?

@share証言を作成してオブジェクトに関連付けるために、証言コントローラの作成アクションに何を追加すればよいですか?

追加のパラメーターとしてビューから Testimonials コントローラーに送信してshare_idから、「前」フィルターを使用して共有オブジェクトを見つけようとしましたが、それが正しい方法だとは思いません。

4

1 に答える 1

0

モデルではshare.rb、次を追加します。

accepts_nested_attributes_for :testimonial

あなたはshareビューにいるので、そのビューには次のような構成があると思います:

<%= form_for @share do |f| %>
  ...
<% end %>

そのコンテキストでは、testimonialフィールドを使用するには:

<%= form_for @share do |f| %>
  <%= fields_for @share.testimonial do |t| %>
    <%= t.text_area :message %>
  <% end %>
<% end %>
于 2013-09-25T11:35:03.810 に答える