新しいオブジェクトを作成するリンクを生成しようとしています。オブジェクトを作成しますが、user_idまたはsubreddit_idを設定しません。
<%= link_to ' (add to my subreddits)',
{
controller: 'subscriptions',
action: 'create',
user_id: current_user.id,
subreddit_id: subreddit.id
},
method: :post %>
関連するコントローラーは次のとおりです。
def new
@subscription = Subscription.new
unless current_user.admin?
@subscription.user_id = current_user.id
end
respond_to do |format|
format.html # new.html.erb
format.json { render json: @subscription }
end
end
def create
@subscription = Subscription.new(params[:subscription])
unless current_user.admin?
@subscription.user_id = current_user.id
end
respond_to do |format|
if @subscription.save
format.html { redirect_to @subscription, notice: 'Subscription was successfully created.' }
format.json { render json: @subscription, status: :created, location: @subscription }
else
format.html { render action: "new" }
format.json { render json: @subscription.errors, status: :unprocessable_entity }
end
end
end