簡體   English   中英

如何在動態鏈接中使用HAML?

[英]How do I use HAML in a dynamic link?

我正在嘗試使用看起來像這樣的HAML創建一個鏈接

=link_to("Last updated on<%=@last_data.date_from.month %>",'/member/abc/def?month={Time.now.month}&range=xyz&year={Time.now.year}')

它沒有采用Ruby代碼,而是將其顯示為字符串

上次更新於<%= @ last_data.date_from.month%>

並且在URL中也沒有使用函數Time.now.monthTime.now.year

如何在URL和字符串中傳遞Ruby代碼?

你應該使用這樣的東西:

= link_to("Last updated on #{@last_data.date_from.month}", "/member/abc/def?month=#{Time.now.month}&range=xyz&year=#{Time.now.year}")

請注意,在第二個字符串中,有必要更改' to " 。如果鏈接文本變長,您可以使用以下內容:

= link_to("/member/abc/def?month=#{Time.now.month}&range=xyz&year=#{Time.now.year}") do
  Last updated on #{@last_data.date_from.month}

在HAML中=之后的所有內容都是Ruby表達式。 Ruby不像HAML那樣插入字符串,它有自己的插值方式。

在Ruby中,當你想在另一個字符串中包含某個變量的字符串值時,你可以這樣做。

"Some string #{Time.now}"

所以,它應該是:

= link_to "Last updated on #{@last_data.date_from.month}", "/member/abc/def?month=#{Time.now.month}&range=xyz&year=#{Time.now.year}"

一個簡單的語法簡單示例:

 link_to "Profile #{rubycode}", "profile_path(@profile)/#{ruby_code}", class: "active"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM