erb中的语法错误三元运算符

syntax error ternary operator in erb

我有一个 link 在看

<%= @entry.user.present? ? link_to @entry.user.nickname , account_path(:user_id=>@entry.user,:key=>"check" ) ,:"data-ajax" => false : "user"  %>

我写了上面的内容,但出现语法错误

请帮我解决一下

谢谢

试试这个:

<%= @entry.user.present? ? (link_to @entry.user.nickname, account_path(:user_id=>@entry.user,:key=>"check" ), :"data-ajax" => false) : "123ish" %>

您应该在 link_to 个参数中使用括号。 Ruby 除了 : 但他找到了 @entry.user.nickname。像这样重写你的三元运算符:

boolean_output ? link_to(arguments,arguments) : "something else"