帮助需要:尝试强制执行form_for的action方法时出现语法错误

时间:2010-11-07 17:49:56

标签: ruby-on-rails ruby-on-rails-3 form-for

 <%= 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。

1 个答案:

答案 0 :(得分:0)

form_for方法调用的右括号位于错误的位置。这应该解决它:

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