我目前使用的link_to助手中查看通过如标题,作者,图片网址参数的参数和ISBN回控制器Ruby on Rails的:如何从视图传递参数用的link_to到控制器没有显示出来的URL
<%= link_to 'Sell this item',new_item_path(:title => title, :author => authors, :image_url=>image, :image_url_s=>image_s, :isbn=>isbn, :isbn13=>isbn13) %>
控制器将然后分配参数以一个目的是通过在视图形式以后使用(在new.html.erb)然后
def new
@item = Item.new
@item.title = params[:title]
@item.author = params[:author]
@item.image_url = params[:image_url]
@item.image_url_s = params[:image_url_s]
@item.isbn = params[:isbn]
@item.isbn13 = params[:isbn13]
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @item }
end
end
new.html.erb将被调用。 这是所有工作正常,但该网址显示的所有参数
http://localhost:3000/items/new?author=Michael+Harvey&image_url=http://ecx.images-amazon.com/images/I/51vt1uVjvLL._SL160_.jpg&image_url_s=http://ecx.images-amazon.com/images/I/51vt1uVjvLL._SL75_.jpg&isbn13=9780307272508&isbn=0307272508&title=The+Third+Rail
有什么办法可以让这些参数不是在URL中显示?
为什么你需要它?这些参数来自哪里?它来自用户输入还是来自哪里?当我看着它时,似乎你正在以一种奇怪的方式做某件事。请解释你为什么这样做,因为可能有更好的方法。 – klew 2010-09-07 18:03:03
这些参数由amazon在xml格式化输出中返回。我有一个搜索栏,允许用户查询亚马逊数据库(使用亚马逊ECS)。每次查询后,我的网站将在表格中输出前10个项目。每个项目都有一个按钮,允许用户选择要销售的项目。我需要这些参数以另一个视图的形式显示。这些参数最终会保存到我的数据库中。我不喜欢显示参数的原因是用户可以手动操作URL。 – user1994764 2010-09-07 22:23:07
它看起来不像用户的隐藏参数将解决你的问题。恶意用户将始终能够找出参数并对其进行操作。通过实现您的方法,您可以使代码更复杂,但实际上并没有以任何方式提高安全性 – paulus 2012-04-28 10:02:01