ruby-on-rails - 如何传递 "link_to"中的隐藏参数

标签 ruby-on-rails hidden-field link-to rating-system

有没有办法通过 link_to 调用传递参数而不显示在 URL 上?我正在制作一个简单的星级评分系统,我基本上是让每个星星成为一个图像链接,将其值作为参数传递给同一页面的新渲染。帮助程序代码如下所示:

def stars_generator(edit_mode = false)

@rating = params[:stars].to_i #takes rating from page param, so :star must be defined first!

@stars = Array.new(5) {|i| i+1} #change array size for more stars
output = "<div class = 'star_container'>"

case edit_mode #checks whether to display static stars or clickable stars
when true
  @stars.each do |star| #this block generates empty or colored stars depending the value of @rating and the position of the star evaluated
    if star <= @rating
      output += link_to image_tag('star_rated.png', :mouseover => 'star_hover.png'), review_new_url(:stars => star)
    else
      output += link_to image_tag('star_empty.png', :mouseover => 'star_hover.png'), review_new_url(:stars => star)
    end
  end
when false #static stars are displayed if edit_mode is false
  @stars.each do |star|
    if star <= @rating
      output += image_tag('star_rated.png')
    else
      output += image_tag('star_empty.png')
    end
  end
end

output += "</div>"
return output
end 

它运行良好,但目前星级评分显示为 URL 中的一个参数。理想情况下,我希望以某种方式隐藏该信息,并且我已经尝试了 hidden_​​field_tag 和 hidden_​​tag,这两种方法都不起作用。有没有办法做到这一点,或者我只是完全菜鸟?

最佳答案

你可以试试

link_to image_tag('star_rated.png', :mouseover => 'star_hover.png'), review_new_url(:stars => star), :method => :post

这将动态注入(inject) javascripts 以将链接转换为表单并通过发布提交参数

希望有帮助=)

关于ruby-on-rails - 如何传递 "link_to"中的隐藏参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279249/

相关文章:

ruby-on-rails - openshift 上的 rails 控制台

ruby-on-rails - Mandrill + Rails 不是通过 Controller 发送而是通过控制台发送

ruby-on-rails - Rescue_from用于javascript请求

ruby-on-rails - Rails hide_field_tag 整数自动转换为字符串?

javascript - IE9 中使用缓存的隐藏输入值而不是更新值

css - 将输入字段对齐在 rails 中的同一行

asp.net - __VIEWSTATE 包含什么?

ruby-on-rails - ruby on rails link_to 删除方法不起作用

ruby-on-rails - 为什么嵌入式 ruby​​ 不能在公用文件夹的静态页面中工作?

ruby-on-rails - 将foreign_key 值传递给Rails Controller 的更好方法