I'm very new to Rails.
Q1. What is the route between controller and view?
Let's say I have a controller called store_controller. I have no method in that controller but I have a view called "list"
then, I'm able to call localhost:3000/store/list ... Why am I able to call this without having list action in controller?
Q2. What if I add list method as below in controller? What will be the route if I call localhost:3000/store/list? the list method from controller and then, view? OR View first and list method from controller? or list method from controller will never be called?
def list
logger.Write 'list in Controller'
end
Based on my test, list method from controller never get called. I'm not sure why. I'm following "Agile Web Development with Rails, 3rd Edition" book and I'm stuck at "Task C: Cart Creation".
Q3. How to call the method of controller from view without using helper or without having any template file for that method? Let's say I have a method called DoSomething in Controller.
def DoSomething
logger.Write 'd'
end
Can I call this method from view as below?
<%= link_to "Do It", :action => "DoSomething" %>
Based on my test, it doesn't work.
Edit: Actually, view can call controller via Http Post. Let's say what we see on screen is called view. If you click on button, it will be http-post and will call controller. this is what i mean by calling the method of controller from view..
Q4. How to write the log in custom log file? if I use logger.Write then all log will be written into development.log. How can I have my custom log file?
Q5. Is there any way to create like a scheduler in Ruby and Rails? Should I use Ruby or Rails if I want to create something like a scheduler or back-end job? like pinging one feed every seconds and if new changes then get the data and insert them into database.