首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有祖先宝石的Message_controller

带有祖先宝石的Message_controller
EN

Stack Overflow用户
提问于 2014-09-28 03:34:08
回答 1查看 89关注 0票数 0

对于这个新手问题,我很抱歉,但是,在我的Messages控制器中引用message#new操作时,我得到了以下错误:

ActiveRecord::RecordNotFound (找不到没有ID的用户):app/controllers/messages_Controler.rb:18:in` `new‘

代码语言:javascript
复制
@recipient = User.find(params[:user_id])

当我试图回复用户收件箱(index.html.erb)中收到的消息时,我正在尝试将祖先宝石合并到我的messages_controller中。据我所知,目前没有ID被传递,但有人遇到过类似的问题吗?代码如下:

代码语言:javascript
复制
class MessagesController < ApplicationController

  def index
    @messages = current_user.to_messages
  end

  def outbox
    type = (params[:type] && params[:type] == "sent" ) ? "from_messages" : "to_messages"
    @messages = current_user.from_messages
  end

  def show
    @message = Message.find params[:id]
  end

  def new
    @message = Message.new(:parent_id => params[:parent_id])
    @recipient = User.find(params[:user_id])
  end

  def create
    @message = Message.new message_params
    @message.sender_id = current_user.id
    if @message.save
      flash[:success] = "Your message has been sent!"
      redirect_to users_path
    else
      flash[:failure] = "Please try again."
      redirect_to users_path
    end
  end

  def destroy
    @message = Message.find(params[:id])
    @message.destroy
    redirect_to messages_path
  end

  private

  def message_params
    params.require(:message).permit(:content, :sender_id, :recipient_id, :parent_id)
  end

end

show.html.erb (视图)

代码语言:javascript
复制
From: <%= link_to @message.recipient.first_name + " " + @message.recipient.last_name, user_path(@message.recipient.id) %>,
To: <%= @message.sender.first_name + " " + @message.sender.last_name %>, 
Message: <%= @message.content %>

<% if @message.recipient_id == current_user.id %>
  <%= link_to "Reply", new_message_path(:parent_id => @message) %>
<% end %>

已开始在2014-09-27 15:41:18 -0400获取127.0.0.1的“/messages/new? MessagesController#new _id=19”,作为超文本标记语言参数:{"parent_id"=>"19"} Message Load (0.1ms) SELECT "messages".* FROM "messages“WHERE "messages"."id”=?限制1 ["id",19]在11毫秒内未找到已完成的404

ActiveRecord::RecordNotFound (找不到没有ID的用户):app/controllers/messages_Controler.rb:18:in` `new‘

呈现的/Users/sikendersingh/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.5ms)呈现的/Users/sikendersingh/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.0ms)呈现/Users/sikendersingh/.rvm/gems/ruby-2.1救援/布局内的.2/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms)渲染/Users/sikendersingh/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb (13.8ms)

EN

回答 1

Stack Overflow用户

发布于 2014-09-28 08:20:50

我不确定收件人/发件人的问题,但我认为从您的观点来看,您只需要将user_id作为一个参数传递即可。因此,link_to将变成:<%= link_to "Reply", new_message_path(:parent_id => @message, :user_id => @message.recipient_id) %>。这将使其在新操作中可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26078405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档