gpt4 book ai didi

ruby-on-rails - 如何在 html.erb 文件中运行多行 Ruby

转载 作者:数据小太阳 更新时间:2023-10-29 06:27:56 26 4
gpt4 key购买 nike

我正在使用 Ruby on Rails,需要在我的一个 html.erb 文件中运行一段 Ruby 代码。我这样做吗:

<% def name %>
<% name = username %>
<%= name %>

或者像这样:

<% def name
name = username %>
<%= name %>

感谢阅读。

最佳答案

如果您需要在 View 中使用额外的函数,您通常会在帮助程序中声明这些函数。

对于每个 Controller ,如果有一个助手,它会自动加载。例如,如果你有一个 PeopleController,在 app/helpers 文件夹中,应该有一个 people_helper.rb,它应该看起来像这样

module PeopleHelper
def name
#do something
username
end
end

另一个非常干净的替代方法是使用 Presenter pattern ,但我认为这种情况不太常见(不幸的是)。

否则,如果您确实需要在 erb View 中使用多行 ruby​​ 代码(我尽量避免这种情况),我更喜欢以下样式:

<%
counter_1 = 0
counter_2 = 1
do_some_more_prep_here
%>
<% @records.each do |rec|%>
<%# do something with the prepped date in each row %>
<% end %>

另外对我来说,代码缩进比 html 缩进更重要,所以我更喜欢类似的缩进

<table> 
<% @rows.each do |row| %>
<tr>
<td><%= row.item1 %></td>
<% if row.some_test %>
<td><%= row.item2 %></td>
<% end %>
</tr>
<% end %>
</table>

但我总是很想听听关于这件事的不同意见。

关于ruby-on-rails - 如何在 html.erb 文件中运行多行 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com