是否可以从模型动作中获取变量到控制器?
Is it possible to get a variable from a model action to the controller?
我正在修改模型中的“保存”操作,但我需要从模型的保存操作中获取名为“@variable”的变量,是否可以 return控制器的变量值?
这是我在模型中保存的动作:
def save
@variable = "some value"
if imported_t_stocks.map(&:valid?).all?
imported_t_stocks.each(&:save!)
true
else
imported_t_stocks.each_with_index do |t_stock, index|
t_stock.errors.full_messages.each do |msg|
errors.add :base, "Row #{index + 6}: #{msg}"
end
end
false
end
end
这是我的控制器:
def create
@t_stocks_import = TStocksImport.new(params[:t_stocks_import])
if @t_stocks_import.save
redirect_to stocks_path
else
redirect_to stocks_path
end
end
是的,你可以。 Rails 模型与任何其他模型一样 Ruby class。只需添加到您的模型:
attr_reader :variable
然后您可以使用:
访问
@t_stocks_import.variable
不过,直接访问模型属性的视图并不是一个好的做法。
我正在修改模型中的“保存”操作,但我需要从模型的保存操作中获取名为“@variable”的变量,是否可以 return控制器的变量值?
这是我在模型中保存的动作:
def save
@variable = "some value"
if imported_t_stocks.map(&:valid?).all?
imported_t_stocks.each(&:save!)
true
else
imported_t_stocks.each_with_index do |t_stock, index|
t_stock.errors.full_messages.each do |msg|
errors.add :base, "Row #{index + 6}: #{msg}"
end
end
false
end
end
这是我的控制器:
def create
@t_stocks_import = TStocksImport.new(params[:t_stocks_import])
if @t_stocks_import.save
redirect_to stocks_path
else
redirect_to stocks_path
end
end
是的,你可以。 Rails 模型与任何其他模型一样 Ruby class。只需添加到您的模型:
attr_reader :variable
然后您可以使用:
访问@t_stocks_import.variable
不过,直接访问模型属性的视图并不是一个好的做法。