ここにスクープがあります:ユーザーがアイデアを作成し、これらのアイデアに「バブル」を追加できるテストアプリを作成しました。現在、バブルは単なるテキストです。私は泡をアイデアに結び付けました。さらに、ユーザーがアイデアを見るために行くと、アイデアに付けられたすべての気泡がリストされます。ユーザーは、特定のアイデアのためにバブルを削除することもできます。編集しようとすると経路が一致しません
私の問題は気泡の編集にあります。ユーザーがアイデアを見ると、そのアイデアのアイデアの内容と気泡が見えます。その結果、アイデアの「表示」ビュー内にあるすべてのバブルコントロール(編集と削除)を設定しました。アイデアのバブルを編集するコードは<%= link_to 'Edit Bubble', edit_idea_bubble_path %>
です。私はrake routes
を実行して、気泡を編集するための正しいパスを見つけ出しました。ここで
は私のエラーです:私は私の泡制御装置においてNo route matches {:action=>"edit", :controller=>"bubbles"}
:
def edit
@idea = Idea.find(params[:idea_id])
@bubble = @idea.bubbles.find(params[:id])
end
def update
@idea = Idea.find(params[:idea_id])
@bubble = @idea.bubbles.find(params[:id])
respond_to do |format|
if @bubble.update_attributes(params[:bubble])
format.html { redirect_to(@bubble,
:notice => 'Bubble was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "Edit" }
format.xml { render :xml => @bubble.errors,
:status => :unprocessable_entity }
end
end
end
さらなるステップを移動するには、私はこれまでのところ、私のroutes.rb
ファイル
resources :ideas do
resources :bubbles
end
に次きました私はバブルを編集しようとするとき以外はすべて機能しているようです。
私はいくつかのガイダンスが大好きです。
ありがとうございます!
はここのアイデアのための私のshow.html.erb
ファイルです:
<%= render 'form' %>
<%= link_to 'Back to Ideas', ideas_path %>
そして最後に、バブルのための私の_form.html.erb
ファイルは:これは問題がある
<h2>Bubbles</h2>
<% @idea.bubbles.each do |bubble| %>
<p>
<b>Bubble:</b>
<%= bubble.description %>
</p>
<p>
<%= link_to 'Edit Bubble', edit_idea_bubble_path (@idea) %>
</p>
<tb />
<p>
<%= link_to 'Delete Bubble', [bubble.idea, bubble],
:confirm => 'Are you sure you want to delete this bubble?',
:method => :delete %>
</p>
<% end %>
<h2>Add a bubble:</h2>
<%= form_for([@idea, @idea.bubbles.build]) do |f| %>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description %>
</div>
<div class="actions">
<%= f.submit %> </div><% end %>
edit_idea_bubble_path (@idea)
に続いて、ここではバブルのためのedit.html.erb
ファイルがあります嘘、私は信じています
<% form_for([@idea, @idea.bubbles.build]) do |f| %>
<%= f.error_messages %>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
おかげで、 '。 '@ idea'を' edit_idea_bubble_path'のオブジェクトとして使用すると、idea_id(5)が返され、バブルの編集に正しくリンクされません(私はeditをリンクしてbubble_idに当てはめることができません)。助言がありますか? – mmichael
また、 '@ idea、@ bubble'を' edit_idea_bubble_path'の中に入れても別のエラーが返ってきたので、 '@ idea'を入れてみました。 '@ bubble'もうまくいかなかった。 – mmichael
やったかしないか? – khelll