Is it possible to manually pass a value to the model from a controller?
thanks
Is it possible to manually pass a value to the model from a controller?
thanks
I'm not sure what you mean. Obviously from your controller you can do some_object.something = :foo
or
some_object.create(:foo => 'Bob' , :bar => 23)
If you gave an example of what you were trying to do someone might be able to construct a more meaningful answer.
Fred
I am using restful_authentication with attachment_fu. I want to have the file directory used based on the user_id so that every user has its own directory. I tried modifying the path_prefix (the variable that specifies which folder to use) in the controller, this made the change within the database but it still saves the file in the default directory (public/fileupload) Here is the code
@fileupload.path_prefix = 'public/tester' + (self.current_user.id).to_s
The plugin will only use the folder specified in the model and not the controller. I don't have access to the userid in the upload model (its only present in the controllers). So I was wondering if I can pass in the userId from the controller into the model somehow.
I think that the right way to do this is to override the method full_filename in your model
Here's the default implementation (in plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb) # Gets the full path to the filename in this format:
Hi
Thanks for your response
Unfortunately only the controller has access to the user id. So I can't make the foldername based on the user id in the model. Is there anyway I can pass the value from the controller to the model?
Of course there is! Define a method in the model:
def method(user_id)
end
and then call it from the controller, passing in user_id.
Not working I get undefined method `printval' for #<FileuploadController:0x57fea90>
i created a def printval(userid) in the model. I even tried passing the value in the session in the controller but I can't even seem to access sessions in the model
You should be calling it on an instance of the model, For example
file_upload = FileUpload.find(:first) file_upload.printval(user_id)