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在排除方法()的某些情况下感到困惑…我相信这是更合适的答案,但这是个人偏好的问题,我想我肯定会再试一次