-1

部分 (update_dashboard) で link_to を設定しましたが、次のようになります

link_to "Link", hash, {:url => {:controller => "results", :action => "update_report"}},     :remote => true

「ハッシュ」は、コントローラーに渡す一連の入力です。

ご覧の通り。「リンク」を「結果」コントローラーの「update_report」アクションにマップする必要があります。

しかし、ページがレンダリングされた後、リンクをクリックすると、新しいページにパーシャルが表示されるだけです。

私はFirebugに入りました。これがリンクのレンダリング方法です

<a url="{:controller=>"results", :action=>"update_report"}" href="/test/update_dashboard?branch=xxxx&brand=xx&end_time=2012-02-29+22%3A59&repo=xxxx%2Fxx&start_time=2012-02-17+18%3A20">Link</a>

href が /test/update_dashboard を指しているのはなぜですか? コントローラー属性に指定したパラメーターを取得しないのはなぜですか

どんな助けでも大歓迎です。

4

2 に答える 2

0

試す、

<%= link_to "Link", {
        :controller => "results", 
        :action => "update_report", 
        :hash => hash,
        :remote => true } %>

Railsの現在のバージョンを使用していない場合は、使用してみてください

link_to_remote "link", :update => "results",
:url => { :controller => "results", :action => "update_report", :hash => hash }

参照

于 2012-04-19T20:33:46.583 に答える
0

https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/url_helper.rb#L236で link_to メソッドのソースを見てください。

「ハッシュ」変数はキーと値を持つ実際のハッシュであるため、次のように URL ハッシュとマージする必要があります。

<% hash = { :param1 => "value1", :param2 => "value2"}  %>
<%= link_to 'MyLink', { :controller => "questions", :action => "index" }.merge(hash), :id => "link_id", :class => "link_class" %>

必要なリンクが生成されます。

<a href="/questions?param1=value1&amp;param2=value2" class="link_class" id="link_id">MyLink</a>
于 2012-04-19T21:34:39.207 に答える