Ruby on rails ruby新手,有点拘泥于if语句
这很可能是一个愚蠢的错误,但是我有点被困于设置一些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},  end if (user.name != "")#{user.name},  end if (user.email != "")#{user.email} end</option&g
output = "<option value='#{user.id}' #{strDisabled} >if (user.company_name != "")#{user.company_name},  end if (user.name != "")#{user.name},  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}, "
end
if (user.name != "")
output << "#{user.name}, "
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?},
#{user.name if !user.name.blank?},
#{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(", ").html_safe
end
#=> "<option value=\"123\">user's company name, 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(", ").html_safe
end
#=> "<option value=\"123\">user's company name, user's email</option>"