比较铁轨中的参数

Omn*_*ent 0 ruby ruby-on-rails

我在做

if params[:type] = "Type A"
   # do something
end
if params[:type] = "Type B"
   # do something
end
Run Code Online (Sandbox Code Playgroud)

但我认为这是错误的.我应该用==

但是这给了我错误:

当你没想到它时,你有零对象

在rails中执行此操作的最佳方法是什么?

我所做的就是从表单中获取一个单选按钮变量,并根据其值(Type A或Type B)执行逻辑

St.*_*and 5

前言

class Hash
  def try(arg)
    self[arg] rescue nil
  end
end
Run Code Online (Sandbox Code Playgroud)

你的方式

if params.try(:type) == "Type A"
    # do
elsif params.try(:type) == "Type B"
    # do
end
Run Code Online (Sandbox Code Playgroud)

case params.try(:type)
when "Type A"
    # do
when "Type B"
    # do
else
    # default do
end
Run Code Online (Sandbox Code Playgroud)