我有两个文件。。rb(带Ruby代码)和。erb(HTML文件与一些ruby脚本)。我在中调用Ruby函数。rb from .erb。
。erb
<a href="<%= url_for :action => :showProducts(i) %>">Click here</a>
。rb
def showProducts(param)
//Some code
end
我能够调用一个函数而不传递参数给它。但是当我传递参数给函数然后调用它时,我收到一个错误。我知道这是从.erb调用参数化函数的不正确的方式。从HTML中调用参数化函数的正确方法是什么?
如果您在url_for
的哈希中添加另一个键/值对
<%= url_for :action => :showProducts, :product => "toaster" %>
你的URL应该从http://localhost:3000/showProducts
到http://localhost:3000/showProducts?product=toaster
在这里,我们向GET请求添加参数。为了在控制器中访问这些参数,我们使用params
散列。例如获取product
(toaster
):
params[:product] #=> "toaster"
我找到了解决问题的方法:
<a href="<%= url_for :action => :showProducts, :id=> 'Hello' %>">
。Rb函数:
def showProducts(param)
//Some code
end
我找到了解决方案
def showProducts
@params['product']
end