2017-12-01 4 views
0

こんにちは、私は選択したオブジェクトをコントローラーメソッドに送信したいのですが、どうすればよいか分かりません。これは-----それhtmlのデータをコントローラーのルビーに渡します

のHTML ------------

<%= form_tag '/wendy' do %> 
    <%= select_tag :'buenwendy', options_from_collection_for_select(@cursitos, 'id', 'name') %> 
    <%= submit_tag 'buscar', class: 'btn btn-success' %> 
<% end %> 

routes.rbを

post 'wendy', to: 'blog#wendy 

コントローラにvaulesと選択リストであります-------------------------

def wendy 
    gg= params[:buenwendy] 
    flash[:success]= gg 
    redirect_to root_path 
end 
+0

'options_from_collection_for_selectから@cursitosのIDを取得しなければならなかった、それ人を解決しました@cursitos、 'id'、 'name') 'どこから@ cursitos'が来ていますか? – Gabbar

+0

これはSQLクエリです:@cursitos = Course.find_by_sql( "SELECT courses.nameからcourse、cours_sts、studentsどこのcourses.id = cours_sts.course_id AND students.id = cours_sts.student_id AND students.id = 1") –

答えて

1

これを試してください:コースを選択すると、そのコースをコントローラ側で見つけて保存できますそれは@gg変数012にありますHTML ...........

<%= form_tag('/wendy', :method => :post) %> 
    <%= select_tag :'buenwendy', options_from_collection_for_select(@cursitos, 'id', 'name') %> 
    <%= submit_tag 'buscar', class: 'btn btn-success' %> 
<% end %> 

......経路

post '/wendy', to: 'blog#wendy 

コントローラ..........

def wendy 
    @gg= Course.find(params[:buenwendy]) 
    flash[:success]= @gg 
    redirect_to root_path 
end 
+0

'gg'または' @gg'ですか? –

+0

この変数をビューページで使用する場合は、インスタンス変数に格納する必要があります.ggの代わりに@ggを使用した理由 – Gabbar

+0

「スコープ」に表示されていないローカル変数にフラッシュが設定されていたためです" –

0

は、私はSQLクエリ

@cursitos = Course.find_by_sql("SELECT *courses.id*, courses.name FROM courses, cours_sts, students WHERE courses.id = cours_sts.course_id AND students.id = cours_sts.student_id AND students.id= 1") 
関連する問題