所以我想这样做:
save_to_library(params) if params[:commit] == "lib"
但是save_to_library显然没有任何参数。
如果不采取参数,行动如何获得参数?
(我知道当我直接链接到它时,此操作有效...只是为了简化可用性)
答案 0 :(得分:5)
您的控制器处理params并通过访问方法使它们可用,它们可供整个控制器使用,而无需在方法参数中传递它。
答案 1 :(得分:3)
params是一个全局哈希,想象它就好像它是在方法之外定义的:
params = {:commit => "lib"}
def save_to_library
@var = params[:commit]
# etc..
end
如果你想做一些有条件的行动,你可以这样做:
def update
save_to_library if params[:commit] == "lib"
end
def save_to_library
@var = params[:commit] # @var = "lib"
# etc..
end
它应该有用。