SimpleForm:控制器中的语法错误

SimpleForm: SyntaxError in Controller

知道这种形式可能有什么问题吗?

错误:

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

我没有使用过 simple_form 所以我猜你传递的最后一个参数不正确并且它不会将散列作为参数并且它检测到参数作为键并搜索一个值所以抛出错误=> 缺失,用于标识哈希中的值。所以我想你可以做这样的事情:

<%= simple_form_for '', 
:url => url_for(:action => 'convertTrackToArea', :controller => 'vehicles',:search => params[:search], 
     :rangefrom_string => params[:rangefrom_string]),
:method => 'post' do |f| %>

因为您指定了 controlleraction,所以您不需要提及 convertTrackToArea_path。如果该路线已经设置,您可以像在您发布的问题中那样使用它并删除控制器和动作名称,如:

<%= simple_form_for '', :url => convertTrackToArea_path(:search => params[:search],:rangefrom_string => params[:rangefrom_string]),:method => 'post' do |f| %>