2016-10-17 50 views
0

有關此表單中可能出現錯誤的任何想法?SimpleForm:控制器中的SyntaxError

錯誤:

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

回答

2

我沒有用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| %>