Попытка выяснить лог c, как я могу получить идентификатор_группы, выбранный из формы группы соединений, и сохранить его во вспомогательном методе, аналогичном методу current_user. Я должен придерживаться строгого has_many до конца, и мне непонятно, как я могу получить правильный group_id, соответствующий каждому сообщению для отображения с каждым методом или даже сортировать сообщения по group_id на данный момент. Мы будем благодарны за некоторые направления ...
Форма для присоединения к группе
<div class="container">
<div class="row">
<div class="col-sm-5 col-sm-offset-4">
<h2 class="text-center">Join a Group</h2>
<%= bootstrap_form_for @membership do |f| %>
<%= f.hidden_field :user_id, value: current_user.id %>
<%= f.hidden_field :permission, value: 'student' %>
<% options = options_from_collection_for_select(Group.all, 'id', 'name')%>
<%= f.select :group_id, options %>
<%= f.submit "Join", class: 'form-control' %>
<% end %>
</div>
</div>
моя схема базы данных
enable_extension "plpgsql"
create_table "groups", force: :cascade do |t|
t.string "name", default: "", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
create_table "memberships", force: :cascade do |t|
t.string "permission", default: "student", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.integer "user_id"
t.integer "group_id"
end
create_table "posts", force: :cascade do |t|
t.string "title"
t.text "content"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.integer "membership_id"
t.integer "group_id"
end
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "username", default: "", null: false
t.string "first_name", default: "", null: false
t.string "last_name", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
end
форма сообщения
<div class="new_post">
<div class="col-sm-8 col-sm-offset-2">
<%= bootstrap_form_for @post do |f| %>
<%= f.text_field :membership_id, value: 4 %>
<%= f.text_field :title %><br/>
<%= f.text_area :content %><br/>
<%= f.submit %>
<% end %>
</div>
</div>