2

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

別のキーと値のペアをハッシュに追加する場合url_for

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

URLは、たとえばhttp://localhost:3000/showProductshttp://localhost:3000/showProducts?product=toaster

ここでは、GETリクエストにパラメータを追加しています。コントローラでこれらのパラメータにアクセスするには、paramsハッシュを使用します。たとえば、producttoaster)を取得するには:

params[:product] #=> "toaster"
于 2011-11-15T15:40:47.827 に答える
1

私は自分の問題の解決策を見つけました:

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

.rb関数:

def showProducts(param)

//Some code

end
于 2011-11-16T12:29:11.657 に答える
0

私は解決策を見つけました

def showProducts 

 @params['product']

end
于 2013-08-23T13:32:57.787 に答える