Theres周围很多东西都很相似,但实际上并没有解决这个特殊情况。我想在前言中说我在Rails世界中仍然是新的。
所以我有一个User表和一个Skill表以及相应的模型。
我创建了一个连接表来连接2并在2之间建立HABTM关系。
技能模型
class Skill < ActiveRecord::Base
has_and_belongs_to_many :users
end
用户模型
class User < ActiveRecord::Base
has_and_belongs_to_many :skills
end
加入表移民 class CreateJoinTableSkillsUsers&lt; ActiveRecord的::迁移
def change
create_join_table :skills, :users do |t|
t.index [:skill_id, :user_id]
t.index [:user_id, :skill_id]
end
end
end
ADDSKILL METHOD(在技能控制器中)
def addSkill
@user.id = current_user.id
@skill.id = Skill.find(params[:id])
params[:user_id, :skill_id]
redirect_to user_path
end
相关路线?
put 'skills/addSkill' => 'skills#addSkill'
index.html.erb(技能)
<% commerceCategory.each do |skill| %>
<ul>
<%= button_to skill.title, :method => "addSkill" %>
</ul>
<% end %>
提交按钮
<%= submit_tag "Update Skills"%>
基本上我想要:
a)skill.title
是自己的复选框(复选框内的名称不在其旁边)
b)点击后,它会通过连接表将该特定技能分配给current_user.id,并重定向到用户显示页面,以显示用户拥有的技能。
我尝试了很多不同的东西,似乎无法使它发挥作用。
我已经阅读了所有有很多通过是优先关联,特别是因为我想最终为每项技能添加不同程度的技能。
非常感谢任何指导!