У меня есть два атрибута, a_value и b_id. (Не их настоящие имена.) 'A_value' хранится в файловой системе, используя некоторую информацию из модели 'B', на которую ссылается 'b_id'.
Итак, мой объект params выглядит так:
params[:foo] = {"a_value"=>"nifty value","b_id"=>"38"}
например.
Теперь в foo_controller.rb:
foo = Foo.new(params[:foo])
Но это не так.
ActiveRecord::RecordNotFound: Couldn't find Foo without an ID
В Foo.a_value = (значение) у меня есть
...
self.my_path = self.b_id.the_path
...
Похоже, что Rails выполняет назначения в алфавитном порядке и паникует, когда b_id там нет, даже если он присутствует в хэше params и проходит проверку.
Могу ли я форсировать порядок, в котором выполняется это назначение? Или я могу создать before_filter, который будет выполнять назначение b_id до того, как произойдет остаток массового назначения?