2

我有两个文件。.rb(带有 Ruby 代码)和.erb(带有一些 ruby​​ 脚本的 HTML 文件)。我正在从.erb调用.rb中的 Ruby 函数。

.erb

<a href="<%= url_for :action => :showProducts(i) %>">Click here</a> 

.rb

def showProducts(param)

//Some code

end

我可以在不向其传递参数的情况下调用函数。但是当我将参数传递给函数然后调用它时,我收到一个错误。我知道这是从.erb调用参数化函数的错误方法。从 HTML 调用参数化函数的正确方法是什么?

4

3 回答 3

1

我找到了解决问题的方法:

<a href="<%= url_for :action => :showProducts, :id=> 'Hello' %>">  

.rb 函数:

def showProducts(param)

//Some code

end
于 2011-11-16T12:29:11.657 回答
1

如果您将另一个键/值对添加到url_for

<%= url_for :action => :showProducts, :product => "toaster" %>

你的网址应该从,比如说,http://localhost:3000/showProductshttp://localhost:3000/showProducts?product=toaster

在这里,我们向 GET 请求添加参数。要访问控制器中的这些参数,我们使用params哈希。例如获取product( toaster):

params[:product] #=> "toaster"
于 2011-11-15T15:40:47.827 回答
0

我找到了解决方案

def showProducts 

 @params['product']

end
于 2013-08-23T13:32:57.787 回答