2017-03-14 7 views
0

読んでいただきありがとうございます.Rails Form Helper for Select Boxのメソッドパラメータの記述方法がわかりません。Rails Select Form:メソッドのパラメータを設定する方法

は、私は以下のクラスがあるとします。

class School 
    attr_accessor :students 
    def initialize 
    students = [] 
    end 
end 

class Student 
    attr_accessor :teacher 
    atrr_accessor :student_name 
end 

class Teacher 
    attr_accessor :teacher_name 
end 

@teacher_list = ['Smith', 'Jones', 'Brown','White'] 

そして私は、各生徒が持っている先生を示して、私は別の教師を選択することができます選択ボックスを持っていると思います。私はそれを更新する必要がある場合に生成され、コントローラに送信されたパラメータを解析できるようにしたいが、正しい値が選択された状態で表示されるようにしたい。

私はそれが正しい値が選択されたとして、私はこのような何かをやって表示するように選択するように、メソッドのパラメータを記述するのか分からない:

<%= form_for :school, url: update_path do |f| %> 
    <% school.students.each do |student| %> 
    <% f.select("[students]#{student.student_name}[teacher][teacher_name]" options_for_select(@teacher_list),{prompt => 'Select Teacher for student'}) %> 
<% end %> 

これは明らかに間違っているが、私はしたいです私が簡単に解析できるようにparamsハッシュを生成することができます。

ご協力ありがとうございます

+0

おかげで、これらは私がこれを理解しようとするために使用したページです。 http://api.rubyonrails.org/classes/ActionView /Helpers/FormOptionsHelper.html#method-i-select http://guides.rubyonrails.org/form_helpers.html http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html –

答えて

0

私はこれまでにこの作業を行っています。私はこのためのテーブルを作成し、テーブルはロールであり、モデルはロールです。

ユーザーモデルには多くの役割があります。これは、多くのユーザーが異なる役割を持つことができ、それぞれの役割が異なるユーザーを持つことができますが、多くの関係(has_many :roles)への1つが十分であることを意味

has_and_belongs_to_many :roles 

私は、追加のテーブルroles_usersを作成

has_and_belongs_to_many :users 

役割モデルユーザーと役割の間の結合関係を管理します。

create_table(:roles_users) do |t| 
    t.belongs_to :role, index: true 
    t.belongs_to :user, index: true 
end 

これはフォームであり、選択フォームの値はRole.all.collectで計算されます。

<%= form_for @user |f| %> 
<%= f.select(:roles_id, Role.all.collect {|p| [ p.role, p.id ]}, {:selected => @user.roles_id}, {:class => "form-control"}) %> 

これは私がそれを行った方法です。次の日にこの回答を見直して改善する時間があります。それがあなたを助けることを願っています申し訳ありませんが 、それは非常に良いではない場合

ファブリツィオ

関連する問題