我能够将变量传递给控制器,但我认为我的方法不正确。我有可以将回复应用于推荐的推荐,在我将回复嵌套在推荐中的路线中。
我试图将 user.id 和 refer.id 传递给回复控制器并将其写入数据库。User.id 正在写入,但我无法让两个变量都进入数据库。
我检查了两个变量都进入了控制器,我只是没有正确地使用方法。我尝试了很多组合,但我很困惑。
回复控制器
class RepliesController < ApplicationController
def new
@user_id = params[:user_id]
@user_id.to_s
@reply = Reply.new
@referral = Referral.find(params[:referral_id])
@reply = @referral.replies.build(@user_id, :referral_id)
respond_to do |format|
if @reply.save
format.html { redirect_to referrals_path, notice: 'Replied' }
else
format.json { render json: @reply.errors, status: :unprocessable_entity }
end
end
end
end
路线
resources :referrals do
resources :replies
end
回复推荐的按钮 这是在索引页面上填充推荐的部分
= link_to '<i class="icon-ok"> Reply</i>'.html_safe, new_referral_reply_path(:referral_id => referral.id, :replier_id => current_user.id)
试图为“posts”类型的方法实现“likes”,但在回复表中有用户的 id 和推荐。基本上我需要将两个参数从链接传递到数据库中
现在我在 (http://local host :3000/referrals/1/replies/new?user_id=2) 上收到此错误
RepliesController 中的 NoMethodError#new
“2”的未定义方法“stringify_keys”:String Rails.root:/Users/laszlo/Documents/rails_projects/GemPort
应用程序跟踪 | 框架跟踪 | 完整跟踪 app/controllers/replies_controller.rb:7:in `new'