如何在 link 助手中插入赋值?
How can I interpolate an assign within a link helper?
我有以下路线和控制器操作。
scope "/", StarTrackerWeb do
pipe_through(:browser)
get("/", PageController, :index)
get("/info/", PageController, :about)
get("/info/:name", PageController, :about)
get("/info/:name/:position", PageController, :about)
end
def about(conn, params) do
names = ["Jose", "Chris", "Jeffrey"]
render(
conn,
"information.html",
name: params["name"],
position: params["position"],
names: names
)
end
目标是在我的模板中的这个 link 助手中插入 @position
赋值。
<%= for name <- @names do %>
<li><%= link "#{name} the ", to: Routes.page_path(@conn, :about) %></li>
<% end %>
</ul>
因此,给定 URL“/info/jose/engineer”。
生成的 link 文本应该是:
jose 工程师
但是,直接调用赋值或对它们进行插值都不起作用。
<%= link "#{name} the @position ", to: Routes.page_path(@conn, :about) %></li>
<%= link "#{name} the #{position} ", to: Routes.page_path(@conn, :about) %></li>
将 @
符号添加到 position
以使其在页面中呈现:
改变这个:
<%= link "#{name} the #{position} ", to: Routes.page_path(@conn, :about) %></li>
为此:
<%= link "#{name} the #{@position} ", to: Routes.page_path(@conn, :about) %></li>
我有以下路线和控制器操作。
scope "/", StarTrackerWeb do
pipe_through(:browser)
get("/", PageController, :index)
get("/info/", PageController, :about)
get("/info/:name", PageController, :about)
get("/info/:name/:position", PageController, :about)
end
def about(conn, params) do
names = ["Jose", "Chris", "Jeffrey"]
render(
conn,
"information.html",
name: params["name"],
position: params["position"],
names: names
)
end
目标是在我的模板中的这个 link 助手中插入 @position
赋值。
<%= for name <- @names do %>
<li><%= link "#{name} the ", to: Routes.page_path(@conn, :about) %></li>
<% end %>
</ul>
因此,给定 URL“/info/jose/engineer”。
生成的 link 文本应该是:
jose 工程师
但是,直接调用赋值或对它们进行插值都不起作用。
<%= link "#{name} the @position ", to: Routes.page_path(@conn, :about) %></li>
<%= link "#{name} the #{position} ", to: Routes.page_path(@conn, :about) %></li>
将 @
符号添加到 position
以使其在页面中呈现:
改变这个:
<%= link "#{name} the #{position} ", to: Routes.page_path(@conn, :about) %></li>
为此:
<%= link "#{name} the #{@position} ", to: Routes.page_path(@conn, :about) %></li>