根据Rails 4中使用的视图使用不同的变量

domi91c

我正在使用Mailboxer,以便用户可以回复我网站中的帖子。我的网站中有两种类型的帖子模型,用户可以回复,即“请求”和“报价”。

这是我的消息控制器:

class MessagesController < ApplicationController

    # GET /message/new
    def new
        @request = Request.find(params[:request])
        @message = current_user.messages.new
        @user = @request.user
    end

    def reply
        @conversation ||= current_user.mailbox.conversations.find(params[:id])
    end

    # POST /message/create
    def create
        @user = User.find(params[:user])
        @body = params[:body]
        @subject = params[:subject]
        current_user.send_message(@user, params[:body], params[:subject])
        flash[:notice] = "Message has been sent!"
        redirect_to :conversations
    end
end

new操作中,我使用的是@request,但是如果我回复Offer帖子,则需要使用@offer变量。有没有一种方法可以使用if语句根据new调用操作的视图在@offer和@request之间进行选择这是解决此问题的最佳方法吗?

贵族

这不是世界上最优雅的事情,而是应该如此简单的事情。

if params[:request]
  @request = Request.find(params[:request])
else
  @offer = Offer.find(params[:offer])
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Rails中为不同的视图使用不同的样式

根据变量使用不同的子查询

根据 slug 是指用户还是组使用不同的视图

在modelglue事件中,根据条件/结果使用不同的视图文件

如何根据路由在组件中使用不同的类名?

告诉指令根据范围变量使用不同的模板

在Rails 4中为不同的名称空间使用不同的资产

Laravel4:根据配置使用不同的模型

在 Python 中根据条件使用不同的运算符

根据TENSORFLOW中的if语句使用不同的优化器

使用不同的方法rails4时出错

根据存储库名称使用不同的池/无法在作业条件中访问“Build.Repository.Name”变量

使用不同的表在 rails 6 中创建 ActiveRecord::Relation

根据整数值使用不同的方法

如何根据环境使用不同的Webdriver

根据对象类型使用不同的itemcontainerstyle

如何根据正在使用的IOS设备在head标签中使用不同的<link>标签?

根据条件搜索不同的模型[Ruby on Rails]

在 Rails 视图中使用变量值

根据Rails中的选择动态构建表

如何根据环境在 nuxt.config.js 中使用不同的设置

如何根据要插入的文档在Elasticsearch中使用不同的分析器?

Symfony2:根据发送的数据在集合中使用不同的表单类型

如何根据平台目标在自定义控件中使用不同的基类?

根据值在C#中使用不同标签对xelement进行排序

使用委托和调用根据变量来调用不同的子

python根据变量值使用不同的装饰器参数

Rails委托使用不同的名称

根据在laravel控制器中使用if条件提到的角色重定向到laravel登录用户中的不同视图