html - 除了可提交的参数之外,我如何将选择选项存储在变量中以存储/使用在rails的辅助方法中
问题描述
试图弄清楚如何从加入组表单中提取 group_id 并将其存储到类似于 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>
解决方案
推荐阅读
- json - 公共属性数组设置值
- algorithm - 求 a、b 和 c 的值,使得 X^a * Y^b * Z^c 最接近 N 并且 a+b+c 是最小的
- csv - Spark 在读取 CSV 时跳过不良记录
- c# - 从对角线不为零的矩阵中提取子矩阵
- java - session.getTransaction().commit() 是否在休眠中关闭会话?
- javascript - 从当前视图打印另一个视图
- python - 熊猫 Series.from_records?
- flask - Flask (cPanel) 上的 404 错误。需要 3 次刷新
- php - 如何在应用程序中正确插入 opcache_compile_file?
- javascript - 无法让子挂钩接收状态