开发者

Using RESTful Rails, How to Do an Insert and Create in One Action

I have a link on a website that says "add object". When I do this, an AJAX call is made and I want to do the following things:

1) if the container in the session does not exist, create one, else use existing 2) add the object to the container

I'm new to RE开发者_如何学GoSTful design and am wondering how to best accomplish this in Rails. Step #1 in particular.

When I make the AJAX call, what would the URI look like?

------edit------

I'm thinking the URI should be something like /myobject/new. Then, in a :before_filter, something like:

:before_filter check_for_container

def check_for_container
    if session[:container_id].nil?
        C = MyContainer.new
        session[:container_id] = C.id
    end
end

In my MyContainer controller, the new method has quite a bit of custom code to generate serial numbers, reuse lazy-deleted containers, etc. How can I refactor the existing code?


What type of container? You can use something like:

 @container ||= []

if container - is simply array, or use next id container is record in database:

@container = Container.find_or_create(id)

or

@container = Container.find_or_create_by_field(:field=>id, :other_filed=>val....)

And then add objects to container

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜