【问题标题】:Rails Dynamic variable at link_to with JS带有 JS 的 link_to 上的 Rails 动态变量
【发布时间】:2013-02-18 05:55:39
【问题描述】:

我有表单来显示来自带有 js 的某个过滤器表单的所有列表,还有另一个按钮,该按钮指向同一控制器上的另一个操作,但仍然带有表单过滤器的值。 对于js的事情已经完成,但是对于另一个按钮,我仍然感到困惑。

我的 BalanceTransactions 控制器:

def end_period
  #some coding
  respond_to do |format|
    format.html
    format.js
  end
end

def end_period_close
  year=params[:year]

  respond_to do |format|
    format.html { redirect to goal_path }
  end
end

我的 end_period.html.erb:

<%= form_tag end_period_balance_transactions_path, :method => "get", :id => "headers_search" do %>
  <td><%= select_year(Date.today, :prompt => 'Choose year') %></td>
  <td><%= submit_tag "Check", :name => nil, :class => "btn btn-info", :remote => true %></td>
  <td><%= link_to "Close", nil, :id => "close_button", :class => "btn btn-danger" %></td>
<% end %>

<%= render :partial => 'end_period_table' %>

当我单击 [Check] 按钮时,rails 会重新渲染部分,它与过滤器配合得很好。而且我仍然对如何为 [关闭] 按钮动态传递 [年份] 感到困惑。

我还尝试了 balance_transactions.js.coffe,其中: $ ->
$("#close_button").click -> 年 = $("#date_year").val() $.get("end_period_close", { 年:年 })

抱歉问题和语法不好,第一次发帖。

感谢和尊重, 克里斯托诺·苏吉亚托

【问题讨论】:

  • 谢谢@jvnill 我不知道如何让它像那样富有色彩,或者我只是读得不够。不管怎么说,还是要谢谢你。 :D

标签: javascript ruby-on-rails ruby-on-rails-3.2 link-to


【解决方案1】:

试试这个

$ ->
  $('#close_button').click ->
    $.ajax
      url: 'your url here' # appending .erb to the filename gives you access to named routes
      data:
        year: $('#date_year').val()

【讨论】:

  • 它仍然重定向到同一页面,而不是重定向到那里的goal_path。我应该将关闭 link_to 上的 nil 更改为其他内容吗?
  • 抱歉,我以为您想转到同一页面,因为 link_to 的 url 为 nil。你想去哪个网址?
  • 其实不管哪个url,但如果可以的话,我需要去root_url。我认为 def end_period_close 的编码仍未加载。
  • 如果您需要转到特定的 url,那么只需将 url 选项传递给 $.ajax,就像我更新的答案中一样
  • 还是没有去到url,action里面的代码还是没动。我尝试输入错误代码,但它没有显示任何错误符号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 1970-01-01
  • 2017-09-23
相关资源
最近更新 更多