打印

[一般问题] 参数传递?

参数传递?

弄了一上午,总也传不过来,怎样传递参数就像session一样,但数据不会存入数据库呢?
有两个界面,它们有不同的div,但共用一系列方法,怎样让这些方法知道是哪个界面发出的请求从而刷新这个界面的div?开始想用session,但我不想涉及到数据库。涉及的代码太多,没法写出来。
本帖最近评分记录
  • drive2me R币 +2 实际问题,鼓励讨论。 2007-9-24 10:14

TOP

div的id区分是哪个界面发出的请求不行吗

I.forget('you'){|something| something.remember.deepen}

TOP

必须先确定是哪个界面发出的请求,然后再根据div的id来刷新相应的div.其中第二种界面比第一种少了两个div,所以当第二种界面调用方法来刷新时总会刷新它没有的div,这样就会出错

TOP

HTTP Request 方法


方法 get( ), post( ), put( ), delete( ), 和 head( ) 模仿引入HTTP请求的同名方法。它们调用给出的动作并对测试代码做出有效应答。

每个方法都接受四个参数。我们拿get()做为例子:

get(action, parameters = nil, session = nil, flash = nil)


为指定动作执行一个HTTP GET请求并设置应答。下面是参数:

1、 action: 要请求的控制器动作。

2、 parameters: 请求参数可选哈希表。

3、 session: 可选的会话变量哈希表。

4、 flash: 可选的flash消息哈希表
本帖最近评分记录
  • insight777 R币 +2 谢谢帮助! 2007-9-24 13:42
  • drive2me R币 +2 鼓励参与! 2007-9-24 10:14

I.forget('you'){|something| something.remember.deepen}

TOP

还是搞不清楚你的问题

I.forget('you'){|something| something.remember.deepen}

TOP

你这两个界面是指两个表单?还是同一个表单?
两个表单请求发往同一个action???(理解不了)
同一个表单可以判断哪个按钮提交请求
params[:buttonname]

[ 本帖最后由 blackanger 于 2007-9-21 19:15 编辑 ]

I.forget('you'){|something| something.remember.deepen}

TOP

继续关注下

TOP

两个界面功能是相同的,只是显示方式不一样,比如两个界面都是用来显示人的姓名,第一个界面有两个div,一个用来显示人的姓,一个用来显示人的名,第二个界面只有一个div,它的Id与第一个界面用来显示姓的div相同,将人的姓和名在一个div中显示出来,两个界面都调用一个action,名叫show,show开始有两个参数,就是两个div的id,但后来又多出一种界面只有一个div,show方法就要变了,我要问的是show怎样知道是哪个界面调用它?界面可以理解为layout

TOP

把需要重复使用的界面做成partial模板,使用不同的参数调用它。

rhtml:
http://svn.ruby-lang.org.cn/rgb/ ... s/front/_form.rhtml

<% unless (params[:context].eql?('reply') || @user.id.eql?(session[:user_id])) %>
#xxxxxyyyyzzzz
<% end %>


调用一:
http://svn.ruby-lang.org.cn/rgb/ ... ront/add_post.rhtml

<%= render_partial 'form', :params => params.merge({:context => 'add'}) %>


调用二:
http://svn.ruby-lang.org.cn/rgb/ ... nt/edit_reply.rhtml

<%= render_partial 'form', :params => params.merge({:context => 'reply'}) %>


这样就行了。
本帖最近评分记录
  • insight777 R币 +2 谢谢帮助! 2007-9-24 13:43
  • drive2me R币 +2 谢谢! 2007-9-24 10:13
谢谢大家加入Ruby中文社区!
[寻找您身边的Rubyist.]

TOP

如果不是partial,就使用:local参数来设置parameters.
谢谢大家加入Ruby中文社区!
[寻找您身边的Rubyist.]

TOP

还得老大出马啊。。。:)

I.forget('you'){|something| something.remember.deepen}

TOP

引用:
原帖由 blackanger 于 2007-9-24 10:22 发表
还得老大出马啊。。。:)
anger你没看清楼主的需求,哈哈。不过还不知道我有没有看清呢。
谢谢大家加入Ruby中文社区!
[寻找您身边的Rubyist.]

TOP

不是partial,是用我自己定义的display方法,感谢所有帮助我的人,你们的回答很好,是我自己没法表达清楚,问题已经解决了,最后还是建了两个方法来对别对应该两个界面,这不是什么好的解决办法,但目前只能这样,以后我会再考虑的。

TOP

引用:
原帖由 skyover 于 2007-9-24 13:00 发表


anger你没看清楼主的需求,哈哈。不过还不知道我有没有看清呢。
Sorry,希望我的回答没有打消大家回答问题的积极性,你们的答复虽然不是我最想要的,但还是给了我不少启示。我今后力求将源码写出,这样大家就不用再猜了。。。。。。。。。

TOP

哦,还是先分别用两个界面来接参数了呀。

我们记下问题,有答案的话就来放这里。
Flying Piggy...! 
天地人合一!

TOP

2008-11-22 18:47 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61