Ruby on rails 发出Json请求以使用两个“;名称“;在控制器中?

Ruby on rails 发出Json请求以使用两个“;名称“;在控制器中?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我想在控制器中使用以下方法: def store "#{business_name} - #{address}" if self.online_store == false end def webstore "#{business_name} - #{website}" if self.online_store == true end 现在我只使用其中的一个: format.json { render :json => @business_stores.

我想在控制器中使用以下方法:

  def store
    "#{business_name} - #{address}" if self.online_store == false
  end

  def webstore
    "#{business_name} - #{website}" if self.online_store == true
  end
现在我只使用其中的一个:

format.json { render :json => @business_stores.collect{|b|{:id => b.id, :name => b.store } } }

我需要
:name
来搜索
b.store
b.webstore
,我该怎么做?

为什么不只创建一个方法

def store
  if self.online_store == false
    "#{business_name} - #{address}"
  else
    "#{business_name} - #{website}"
  end  
end

当你需要它时,你就会知道它是不是在线商店

为什么不只创建一个方法呢

def store
  if self.online_store == false
    "#{business_name} - #{address}"
  else
    "#{business_name} - #{website}"
  end  
end
def store
  if self.online_store
    "#{business_name} - #{website}"
  else
    "#{business_name} - #{address}"
  end  
end
当你要它的时候,你就会知道它是不是网上商店

def store
  if self.online_store
    "#{business_name} - #{website}"
  else
    "#{business_name} - #{address}"
  end  
end
您甚至不需要使用
==false
,因为它已经是布尔值了


您甚至不需要使用
==false
,因为它已经是布尔值了。

是的。更好的解决方案。我会在这里使用一个三元运算符,使方法更紧凑。@Octopus Paul,谢谢,甚至更好,这也是我最终想要做的。继续学习RoR。为什么要保留非惯用的
==false
@wrbg:这是AR布尔属性吗?如果是:
self.online\u store?
我保留了
==false
,因为在发布的问题中使用了它。@tokland是的,我将其更改为不使用false。所以不用担心,谢谢你的关心。更好的解决方案。我会在这里使用一个三元运算符,使方法更紧凑。@Octopus Paul,谢谢,甚至更好,这也是我最终想要做的。继续学习RoR。为什么要保留非惯用的
==false
@wrbg:这是AR布尔属性吗?如果是:
self.online\u store?
我保留了
==false
,因为在发布的问题中使用了它。@tokland是的,我将其更改为不使用false。所以不用担心,谢谢你的关心。