Ruby on rails erb中三值运算符的语法错误

Ruby on rails erb中三值运算符的语法错误,ruby-on-rails,conditional,erb,Ruby On Rails,Conditional,Erb,我有一个链接 <%= @entry.user.present? ? link_to @entry.user.nickname , account_path(:user_id=>@entry.user,:key=>"check" ) ,:"data-ajax" => false : "user" %> @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 : "user"  %>
@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" %>
@entry.user,:key=>“check”),:“dataajax”=>false:“123ish”%>

您应该使用带有参数链接的括号。Ruby除了一个
,而是找到了
@entry.user.nickname
。重写三元运算符,如下所示:

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

语法错误是什么?你能把错误贴在这里吗?也许链接到方法混淆了三元数?是否尝试将()添加到方法调用?只是一个想法…哎呀。因此,将对link_的调用改为类似于
link_to(…)
有时我会看到ruby在排除方法()的某些情况下感到困惑…我相信这是更合适的答案,但这是个人偏好的问题,我想我肯定会再试一次