0
 <%= form_for([@post, @post.bids.build]),  
 :url => { :action => "offer_bid" } do |f| %>  
    <%= f.submit "Offer Post to this user" %>  
 <% end %>    

上記のフォームを使用して、入札モデルの特定の列を更新しようとしています(入札は投稿の下にネストされたモデルです):-

resources :posts do
    resources :bids
end

入札モデルの新しい行を作成するためのフォームがすでにあります。
今、私は同じモデルにもう1つのフォームを追加しています-いくつかの操作を行うために入札します。
しかし、上記のフォームを使用しようとすると、次の構文エラーが発生します。:-

compile error
/home/saran/work_space/rails_apps/incomplete_bid_excercise/app/views  
/bids/_offer_bid.html.erb:1: syntax error, unexpected tASSOC, expecting kEND  
...st, @post.bids.build]),:url => { :action => "offer_bid" } do...  
                          ^
/home/saran/work_space/rails_apps/incomplete_bid_excercise/app/views  
/bids/_offer_bid.html.erb:1: syntax error, unexpected kDO, expecting kEND  
... { :action => "offer_bid" } do |f| @output_buffer.safe_conca...
                          ^
/home/saran/work_space/rails_apps/incomplete_bid_excercise/app/views  
/bids/_offer_bid.html.erb:7: syntax error, unexpected kENSURE, expecting $end  

前もって感謝します :)。
Rails3.0.1を使用しています。

4

1 に答える 1

0

メソッド呼び出しの閉じ括弧form_forが間違った場所にありました。これで修正されるはずです:

<%= form_for([@post, @post.bids.build], { :url => { :action => "offer_bid" } }) do |f| %> 
  <%= f.submit "Offer Post to this user" %>
<% end %>
于 2010-11-07T17:52:40.397 に答える