Как я могу сохранить опцию выбора в переменной, кроме просто передаваемых параметров, которые будут храниться / использоваться во вспомогательном методе в рельсах? - PullRequest
0 голосов
/ 22 февраля 2020

Попытка выяснить лог 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...