免责声明:我是rails n00b。我在玩一个简单的助手函数,它没有完成我希望它做的事情。
<%= webforms_helper %>发布于 2012-06-15 14:31:25
首先,适当的帮手应该如下所示:
module ApplicationHelper
def myformchecker(ahash)
if ahash[:address] == '10'
return 'Address is 10'
end
end
end然后在你的控制器里:
class ApplicationController < ActionController::Base
helper: application
...
end那么在你看来:
<%= myformchecker(params) %>因此,如果视图是响应于表单提交而呈现的,并且该表单具有以下内容:
<%= text_field_tag :address %>当用户填写表单并将字符串'10‘作为地址时,’address is 10‘将在您的视图中生成。
发布于 2012-06-15 14:21:01
嗯,你的锻炼不太清楚,但是像这样的.
def webforms_helper
if :address == 10
print "Address is 10"
else
print "Address is not 10"
end
end不会将任何东西打印到Rails视图中,原因是,您使用的是puts和print方法,这两个方法将输出到控制台。你必须把绳子还给我,这样做.
def webforms_helper
if :address == 10
"Address is 10"
else
"Address is not 10"
end
end我知道您正在做一个简单的演示,但是将参数传递给助手是个好主意。这就是你99%的时候要做的..。
def webforms_helper(address)
if address == 10
#return something meaningful as string to the view
else
#return something meaningful as string to the view too.
end
end发布于 2012-06-15 14:17:04
您应该将信息传递给帮助者,这样它就可以为您做出决定。
# app/views/webforms/show.html.erb
<%= webforms_helper(address) %>
# app/helpers/webform_helper.rb
module WebformHelper
def webforms_helper(address)
if address == 10
"Address is 10"
else
"Address is not 10"
end
end
end如果您刚开始使用Rails,我还会衷心推荐您找到一本好书(基于Rails的敏捷Web开发)或教程(Rails教程)。
https://stackoverflow.com/questions/11052203
复制相似问题