Let's say you are not going to use an html form. Rather the user will
input data in a third-party application that will communicate with the
rails controller through http requests, but serves as a replacement to
the html. In other words, it's taking the place of front end.
My question is can you update the attributes of another table, let's say
studentfails table, from let's say a students controller (which has a
students table) based on user input (the user input needs to be inserted
in the studentfails table).
I was hoping something like this, but this doesn't work:
def find_failing_student
@student = @student.find params[:id]
end
def update_failing_student
@student = @student.find params[:id]
@student.build_student_fail params[:student][:student_fail_attribute]
end
Even for this you have to put student_fail_attribute in the html. I'm
hoping there's a way where you don't have to put anything in the html.
Any suggestions? Thanks for any response.
Even for this you have to put student_fail_attribute in the html. I'm
hoping there's a way where you don't have to put anything in the html
Are you trying to say that you want to use a get request instead of a
post request? In a perfect world every request that changes the server
state is a post request, but if you want to use a get request just put
additional parameters in the url.
I suggest you make this work with a regular html view before worrying
about the external front end.
Even for this you have to put student_fail_attribute in the html. I'm
hoping there's a way where you don't have to put anything in the html
Are you trying to say that you want to use a get request instead of a
post request? In a perfect world every request that changes the server
state is a post request, but if you want to use a get request just put
additional parameters in the url.
What do you mean by put additional parameters in the url? Thanks for the
response though.
Let's say you are not going to use an html form. Rather the user will
input data in a third-party application that will communicate with the
rails controller through http requests, but serves as a replacement to
the html. In other words, it's taking the place of front end.
My question is can you update the attributes of another table, let's say
studentfails table, from let's say a students controller (which has a
students table) based on user input (the user input needs to be inserted
in the studentfails table).
I was hoping something like this, but this doesn't work:
def find_failing_student
@student = @student.find params[:id]
end
def update_failing_student
@student = @student.find params[:id]
@student.build_student_fail params[:student][:student_fail_attribute]
end
You don't appear to be *saving* the result from
@student.build_student_fail. Either you're looking for
create_student_fail (which saves the record) or something like:
def update_failing_student
@student = Student.find(params[:id])
@student_fail = @student.build_student_fail(params[:student]
[:student_fail_attribute])
if @student_fail.save
# save succeeded
else
# save failed - re-render form with errors
end
end
Even for this you have to put student_fail_attribute in the html. I'm
hoping there's a way where you don't have to put anything in the html.
Not sure what you're looking for here: it's going to be hard to get a
field from the user without asking for it...
Doesn't make any difference - SomeModel.create(...) will work just as
well in one controller as in another.
Even if it's a flash (adobe flex) form and not html form? The
communication is done purely through http requests. For example, user
clicks flash button, this triggers http put request, method is called in
rails, data captured through the params function in rails, and thus data
is subsequently updated to database.
Yes, that's the way the web works
However, it's not like I can stick an attribute created using attr_accessor
in that flash form.
?? Either you're passing the data you need to your controller via that
request or you're not. Which is it?
Even if it's a flash (adobe flex) form and not html form?
A http request is a http request regardless of where it is submitted
from. Start by making this work with a rails view, and then worry about
the flash front end later. When you know what the http request actually
needs to look like, then its easier drop the rails view and implement an
external front end to replace it.