Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby新手,有点拘泥于if语句_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails ruby新手,有点拘泥于if语句

Ruby on rails ruby新手,有点拘泥于if语句,ruby-on-rails,ruby,Ruby On Rails,Ruby,这很可能是一个愚蠢的错误,但是我有点被困于设置一些if条件 output = "<option value='#{user.id}' #{strDisabled} >if (user.company_name != "")#{user.company_name},&nbsp end if (user.name != "")#{user.name},&nbsp end if (user.email != "")#{user.email} end</option&g

这很可能是一个愚蠢的错误,但是我有点被困于设置一些if条件

output = "<option value='#{user.id}' #{strDisabled} >if (user.company_name != "")#{user.company_name},&nbsp end if (user.name != "")#{user.name},&nbsp end if (user.email != "")#{user.email} end</option>".html_safe
output=“if(user.company\u name!=”){user.company\u name},end if(user.name!=”){user.name},end if(user.email!=”){user.email}end.html\u
它只是输出ruby代码,我很有可能已经完成了,但我在一个使用ruby的项目上,我没有:)


提前感谢

您需要将Ruby代码的每一部分放入
{}
而不仅仅是变量。
我不认为将if放在字符串中是一件好的/正确的事情。

我已经尝试重新格式化您的代码,以近似您想要实现的目标:

output = "<option value='#{user.id}' #{strDisabled} >"
if (user.company_name != "")
  output << "#{user.company_name},&nbsp;" 
end 
if (user.name != "")
  output << "#{user.name},&nbsp;" 
end 
if (user.email != "")
  output << "#{user.email}"
end
output << "</option>"
output = output.html_safe
output=“”
如果(user.company_name!=“”)

输出这里有一个快速的重构,使代码更容易阅读

output = "<option value='#{user.id}' #{strDisabled}>"
output << "#{user.company_name }, " if user.company_name.present?
output << "#{user.name}, " if user.name.present?
output << user.email if user.email.present?
output << "</option>"
output.html_safe
output=“”

输出您可以这样写:

output = "<option value='#{user.id} #{strDisabled}'> 
  #{user.company_name if !user.company_name.blank?},&nbsp; 
  #{user.name if !user.name.blank?},&nbsp; 
  #{user.email if !user.email.blank?}
</option>".html_safe
output=”
#{user.company\u name如果!user.company\u name.blank?},
#{user.name如果!user.name.blank?},
#{user.email if!user.email.blank?}
“.html_安全
Rails有一个生成HTML标记的助手:

content_tag :option, value: user.id do
  output = []
  output << user.company_name unless user.company_name.blank?
  output << user.email unless user.email.blank?
  output.join(",&nbsp").html_safe
end
#=> "<option value=\"123\">user's company name,&nbsp;user's email</option>"
content\u标记:选项,值:user.id do
输出=[]
输出
content_tag :option, value: user.id do
  output = []
  output << user.company_name unless user.company_name.blank?
  output << user.email unless user.email.blank?
  output.join(",&nbsp").html_safe
end
#=> "<option value=\"123\">user's company name,&nbsp;user's email</option>"