SimpleForm:Controller中的SyntaxError

时间:2016-10-17 04:14:54

标签: ruby-on-rails forms ruby-on-rails-4 simple-form

对这种形式的错误有什么想法吗?

错误:

vehicleTrack.html.erb:141: syntax error, unexpected keyword_do_block, expecting => ... params[:rangefrom_string]} do |f| @output_buffer.safe_appe... ... ^ 

这是我的观点:

   <%= simple_form_for '', url: convertTrackToArea_path, :method => :post, 
       { :controller => "vehicles", 
         :action => "convertTrackToArea", 
         :search => params[:search], 
         :rangefrom_string => params[:rangefrom_string]} do |f| %>
       <%= f.input :areano, :label => 'Areano' %>
       <%= f.button :submit, value: "Crear",:name => nil%>
    <% end %>

1 个答案:

答案 0 :(得分:2)

我没有使用simple_form所以我的猜测是你错误地传递了最后一个参数并且它不会将哈希作为参数,它会将参数检测为键并搜索一个值,因此抛出错误{{缺少1}},用于标识哈希值。所以你可以做这样的事情我想:

=>

由于您指定的是<%= simple_form_for '', :url => url_for(:action => 'convertTrackToArea', :controller => 'vehicles',:search => params[:search], :rangefrom_string => params[:rangefrom_string]), :method => 'post' do |f| %> controller,因此您无需提及action。如果已经设置了该路由,您可以像在发布的问题中一样使用它,并删除控制器和操作名称,如:

convertTrackToArea_path