2016-10-17 14 views
0

このフォームで何が間違っている可能性がありますか?SimpleForm:Controller内の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を使用していないので、私の推測では、あなたが間違って最後の最後の引数を渡すと、それは文句を言わない引数としてハッシュを取ることです引数をキーとして検出して値を検索すると、=>が存在しないというエラーがスローされ、ハッシュ値を識別するために使用されます。あなたはconvertTrackToArea_pathを言及する必要がいけないactioncontrollerを指定しているので、

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

:だから、私が思うこのような何かを行うことができます。そのルートが既に設定されている場合は、投稿された質問のように使用してコントローラ名とアクション名を削除できます:

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