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

我已经有了创建新的竞价模型行的表格。
现在我要为同一个模型再添加一个表格——出价做一些操作。
但是在尝试使用上述表单时出现以下语法错误。:-

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  

提前致谢 :)。
我正在使用 Rails 3.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 回答