【发布时间】:2012-05-01 11:21:37
【问题描述】:
我正在尝试根据用户的位置向位置列下的用户模型添加一个字符串。我已将所有设置都设置为我知道@city+@state 的值已添加到正确模型中的相应列中。问题是,request.location.city 和 request.location.state 似乎在控制器和视图中正常运行,但在模型中却没有。
def add_location
@city = request.location.city
@state = request.location.state
@location = @city+@state
self.location = @location
end
创建用户时,不会创建诸如“losangelescalifornia”之类的字符串,而是不会创建任何内容。当我定义@city = "bob" 和@state = "cat" 时,所有创建的用户在适当的位置都有"bobcat"。我知道除了这些基于地理位置的方法之外,一切都在运行。所以我的问题是,我将如何让这些方法(如果不是它们,请纠正我)在模型中发挥作用,即 request.location.city 和 request.location.state?非常感谢提前:)
【问题讨论】:
-
为什么不能直接将它们从控制器传递到模型中?
-
请求抓取到控制器的结果?我该怎么做呢?如果我在控制器中定义它们,它们对模型不可用。
标签: ruby-on-rails ruby model-view-controller methods model