解释这个 HAML 和 Ruby 奇怪的代码
Explain this HAML and Ruby weird code
我是 HAML 和 Ruby 的新手,但我正在尝试将表单上的一些标准按钮更改为单选按钮。该代码有效。我只需要学习如何改变它。除了我知道它输出我的两个按钮外,我完全不知道这行 HAML 代码意味着什么。代码是这样的:
= render @audience, opportunity: :opportunity
浏览器中的输出如下所示:
<div class="col-md-6">
<a class="btn btn-lg btn-block btn-default audience-tab active" data-value="consumer" data-remote="true" href="/opportunities/229/edit?audience=consumer">Consumer</a>
</div>
<div class="col-md-6">
<a class="btn btn-lg btn-block btn-default audience-tab " data-value="business" data-remote="true" href="/opportunities/229/edit?audience=business">Business</a>
</div>
我知道我的数据库中有一个名为 Opportunities
的 table。它包含一个名为 audience
的字段。我的控制器中的一些相关行如下所示:
@opportunity = Opportunity.find(params[:id])
那我的控制器里也有这个。
if params[:audience].present?
@audience = params[:audience]
else
@audience = @opportunity.audience || 'consumer'
end
我真正想知道的是这个 HAML 到底是什么意思。
= render @audience, opportunity: :opportunity
特别是opportunity: :opportunity
。冒号是什么意思?为什么裁员?如果我能弄清楚这一点,那么我可能就能理解我需要如何更改它以满足我的需要。
render
不是 haml 是一个 rails 方法
= render @audience, opportunity: :opportunity
你可能在这个变量 @audience
中有字符串 html/haml
render @audience
正在渲染@audience 上的内容,opportunity: :opportunity
通过 locals render
选项
将值 :opportunity
传递给变量 opportunity
请观看此视频以了解如何调试您的代码RailsCast Pry debug
我是 HAML 和 Ruby 的新手,但我正在尝试将表单上的一些标准按钮更改为单选按钮。该代码有效。我只需要学习如何改变它。除了我知道它输出我的两个按钮外,我完全不知道这行 HAML 代码意味着什么。代码是这样的:
= render @audience, opportunity: :opportunity
浏览器中的输出如下所示:
<div class="col-md-6">
<a class="btn btn-lg btn-block btn-default audience-tab active" data-value="consumer" data-remote="true" href="/opportunities/229/edit?audience=consumer">Consumer</a>
</div>
<div class="col-md-6">
<a class="btn btn-lg btn-block btn-default audience-tab " data-value="business" data-remote="true" href="/opportunities/229/edit?audience=business">Business</a>
</div>
我知道我的数据库中有一个名为 Opportunities
的 table。它包含一个名为 audience
的字段。我的控制器中的一些相关行如下所示:
@opportunity = Opportunity.find(params[:id])
那我的控制器里也有这个。
if params[:audience].present?
@audience = params[:audience]
else
@audience = @opportunity.audience || 'consumer'
end
我真正想知道的是这个 HAML 到底是什么意思。
= render @audience, opportunity: :opportunity
特别是opportunity: :opportunity
。冒号是什么意思?为什么裁员?如果我能弄清楚这一点,那么我可能就能理解我需要如何更改它以满足我的需要。
render
不是 haml 是一个 rails 方法
= render @audience, opportunity: :opportunity
你可能在这个变量 @audience
render @audience
正在渲染@audience 上的内容,opportunity: :opportunity
通过 locals render
选项
:opportunity
传递给变量 opportunity
请观看此视频以了解如何调试您的代码RailsCast Pry debug