Ruby on rails 忽略:部分的多个:局部变量

Ruby on rails 忽略:部分的多个:局部变量,ruby-on-rails,partial-views,Ruby On Rails,Partial Views,我不明白为什么我不能在我的部分视频中使用额外的本地视频 在我的父母看来: <%= render :partial => 'content', :locals => { :post => post, :summary => true } %> 'content',:locals=>{:post=>post,:summary=>true}%> 在我看来: <%= summary ? post_content(post, 220) : post_cont

我不明白为什么我不能在我的部分视频中使用额外的本地视频

在我的父母看来:

<%= render :partial => 'content', :locals => { :post => post, :summary => true } %> 
'content',:locals=>{:post=>post,:summary=>true}%>
在我看来:

<%= summary ? post_content(post, 220) : post_content(post) %>

导致错误,无法找到变量摘要:

undefined method `summary?' for #<#<Class:0x007ff425e773b0>:0x007ff425e67a50>
未定义的方法“摘要”用于#
有什么想法吗?我在这里可能真的很蠢

我认为您必须使测试表达式更加明确,因为系统正在试图找到一个名为summary的方法?而不是使用?作为三元运算符。尝试将其更改为:

<%= summary == true ? post_content(post, 220) : post_content(post) %>


确保您的模型具有
摘要
属性或方法

您能否确认您的部分中确实有
摘要?
而不是
摘要?

仔细阅读错误消息。。。它表示找不到方法
summary?
,而不是
summary
。您的代码是否可能没有在摘要和问号之间包含空格?

我不确定是否理解--:摘要只是分部用于引用传入参数的名称,true是该参数的值。这里没有任何东西能把它和模型联系起来,不是吗?我是在问,不是在断言:)哦,这不是我的-1,这是一个简单的问题。如果没有空格,那么整行代码就不正确了吗?我的意思是,如果他说
summary,这到底意味着什么?发布内容(post,22):发布内容(post)
?在这种情况下,冒号是有效的运算符吗?正如Gonzalo Quero指出的,“summary?”是函数的名称(例如,myvar.Is_a?String,其中Is_a?是方法名称)。相比之下,x?y:z使用三元运算符?我试了两种方法,但都不起作用,但都成功了。我想既然summary是一个布尔值,我就可以添加一个?之后。。。我是个笨蛋。:-)@黑鸟07:他把一个布尔值传给了那个部分。真的没有?接线员,成功了,谢谢。你知道为什么吗?还是总结不起作用?我想如果它是一个布尔值。。。(这里没有。:-)不,真值和假值没有相同的值?运算符。啊,我知道我在想什么-对象上的布尔值。:-)