【发布时间】:2015-10-29 17:41:57
【问题描述】:
我无法弄清楚将参数传递给链接标签的方法。我想要做的是当有人点击加入组链接时,会员模型应该有一个新行,其中 group_id 作为当前组 id,用户 id 作为当前用户 id。 Membership 模型目前由两列组成:将用户映射到组的 user_id 和 group_id。任何人都可以帮助我解决我所犯的错误。 这是代码 组:show.html.erb
<p id="notice"><%= notice %></p>
<p>
<strong>Title:</strong>
<%= @group.title %>
</p>
<p>
<strong>Desc:</strong>
<%= @group.desc %>
</p>
<p>
<strong>Creator:</strong>
<%= @creator.first_name %>
</p>
<%= link_to 'Join Group', memberships_path(:group_id => @group.id, :user_id => current_user.id ), method: :post %>
<%= link_to 'Edit', edit_group_path(@group) %> |
<%= link_to 'Back', groups_path %>
这里是会员控制器
class MembershipsController < ApplicationController
before_action :set_membership, only: [:show, :edit, :update, :destroy]
# GET /memberships
# GET /memberships.json
def index
@memberships = Membership.all
end
# GET /memberships/1
# GET /memberships/1.json
def show
@membership = Membership.find(params[:id])
@user = User.find(@membership.user_id)
@group = Group.find(@membership.group_id)
end
# GET /memberships/new
def new
@membership = Membership.new
end
# GET /memberships/1/edit
def edit
end
# POST /memberships
# POST /memberships.json
def create
@membership = Membership.new(membership_params)
respond_to do |format|
if @membership.save
format.html { redirect_to @membership, notice: 'Membership was successfully created.' }
format.json { render :show, status: :created, location: @membership }
else
format.html { render :new }
format.json { render json: @membership.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /memberships/1
# PATCH/PUT /memberships/1.json
def update
respond_to do |format|
if @membership.update(membership_params)
format.html { redirect_to @membership, notice: 'Membership was successfully updated.' }
format.json { render :show, status: :ok, location: @membership }
else
format.html { render :edit }
format.json { render json: @membership.errors, status: :unprocessable_entity }
end
end
end
# DELETE /memberships/1
# DELETE /memberships/1.json
def destroy
@membership.destroy
respond_to do |format|
format.html { redirect_to memberships_url, notice: 'Membership was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_membership
@membership = Membership.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def membership_params
params.require(:membership).permit(:user_id, :group_id)
end
end
【问题讨论】:
标签: ruby-on-rails ruby params